W celu zarejestrowania korzystania z rozwijanej przez mnie aplikacji, potrzebuję każdego użytkownika korzystającego z mojej aplikacji do wykonywania zapytań dotyczących mojej bazy danych SQL Server pod ich własnymi danymi uwierzytelniającymi.Jak przyznać uprawnienia do IMPERSONACJI każdemu innemu użytkownikowi?
Abynie przechowywać haseł w sposób możliwy do odzyskania, nie mogę utworzyć połączenia dla każdego użytkownika (ponieważ oznaczałoby to znajomość hasła po krótkim oknie po zalogowaniu się).
Pozornie oczywiste rozwiązanie tego problemu (które może być nieoptymalne) polega na uruchamianiu wszystkich wrażliwych zapytań jako ogólny użytkownik aplikacji, podszywając się pod zalogowanego użytkownika (wymagając tylko skojarzenia zalogowanego użytkownika z nazwą użytkownika ... co nie jest złe).
Moim problemem jest to, że nie jestem pewien, w jaki sposób przyznać się do podszycia się wszystkim użytkownikom określonej roli lub wszystkim użytkownikom w ogóle (nie najjaśniejszy pomysł, ponieważ nie chcę, aby aplikacja podszywała się pod sysadmin, na przykład).
grant impersonate on all to ApplicationLogin
nie działa, i nie ma dokumentacji, że mogę stwierdzić, że sugeruje udzielanie personifikacji na członków roli byłoby wykonalne ...
Jakieś pomysły?
Czy określona rola oznacza rolę bazy danych? –
na pewno, o ile może być naprawdę szeroki. – Crisfole
Dodano pewne szczegóły^ – Crisfole