Чтобы регистрировать использование приложения, которое я разрабатываю, мне нужно, чтобы каждый пользователь, используя мое приложение, выполнял запросы к моей базе данных SQL Server под своими учетными данными.Как предоставить разрешение IMPERSONATE любому другому пользователю?
Чтобы не быть хранят свои пароли в извлекаемой моде, я не могу создавать соединение на основе каждого пользователя (потому что повлекло бы за собой, зная свой пароль мимо короткого окна при входе в).
Очевидно, что решение этой проблемы (что может быть неоптимальным) заключается в том, чтобы запускать все чувствительные запросы в качестве общего пользователя «Приложения», выдавая себя за входного пользователя (требуя, чтобы я связал только зарегистрированного пользователя с именем пользователя ... что не плохо).
Моя проблема заключается в том, что я не уверен, как предоставить олицетворять всех пользователей определенной роли или всех пользователей в целом (не самая яркая идея, потому что я не хочу, чтобы приложение выдавало себя за системный администратор, например).
grant impersonate on all to ApplicationLogin
не работает, и нет никакой документации, что я могу найти, что предполагает предоставление олицетворения на членов роли будет выполнимо ...
Любые идеи?
Определяет ли определенная роль роль базы данных? –
уверен, до тех пор, пока он может быть очень широк. – Crisfole
Добавил некоторые подробности^ – Crisfole