Изменение пароля пользователя с помощью роли приложения

Я использую SqlServer и роль приложения для моего приложения, но у меня также есть имя пользователя в SqlServer.

Есть ли возможность изменить пароль пользователя при использовании роли приложения?
Когда я пытаюсь изменить пароль пользователя, я получаю сообщение об ошибке, что у меня нет разрешения на его изменение.

Я дал разрешение на изменение роли приложения, но это не помогло.

1 ответ

AFAIK, это невозможно, и на самом деле это не тот случай, для которого была разработана роль приложения.

Роли приложения - это объекты уровня базы данных или, точнее, принципалы, поскольку это объект безопасности. Логины являются принципалами уровня сервера. Вы не можете предоставить привилегию уровня сервера субъекту уровня базы данных.

Это действительно не тот случай использования для ролей приложения, но если вам абсолютно необходимо это сделать, вы можете создать хранимую процедуру в базе данных, используемой приложением, и настроить ее для выполнения под другим принципалом, но это хакерство, и я бы этого не сделал это для производственной системы.

Другие вопросы по тегам