Доступ к БД запрещен приложением ASP.Net MVC после перехода в режим аутентификации Windows - PullRequest
0 голосов
/ 12 апреля 2010

У меня есть приложение MVC, к которому я сейчас пытаюсь добавить аутентификацию и авторизацию.

Я хочу разрешить пользователям заходить на сайт и автоматически проходить аутентификацию. Поэтому я установил режим аутентификации = "Windows" в файле web.config и включил NTLM в настройках проекта. Теперь сайт показывает мое доменное имя в правом верхнем углу, когда я его запускаю, но когда я нажимаю на действие, которое требует доступа к БД, он сообщает, что доступ для моего имени пользователя запрещен?

Какой шаг я пропускаю?

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

Это не обязательно проблема проверки подлинности IIS или Windows. Я предполагаю, что ваша строка подключения выглядит примерно так

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Теперь, когда вы используете аутентификацию Windows, домен \ имя пользователя передается в SQL для аутентификации в базе данных. Если у вас нет всего домена (или хотя бы подмножества, выполняющего вход в приложение) в качестве допустимых пользователей в SQL, вы получите несанкционированное исключение. Вам необходимо: а) передать имя пользователя / пароль в SQL в строке подключения, как показано ниже, или б) добавить пользователей вашего приложения в список пользователей безопасности базы данных или в) использовать атрибут impersonate в файле web.config для олицетворения пользователь, имеющий доступ к файлам приложения на веб-сервере и к базе данных

Строка подключения SQL с именем пользователя / паролем

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
0 голосов
/ 12 апреля 2010

Это тонкая разница между аутентификацией и авторизацией.

Аутентификация - это акт идентификации пользователя (и вы сделали это) Авторизация - это акт определения того, кому что разрешено делать (вам необходимо применить соответствующие разрешения на доступ к базе данных для каждого из ваших пользователей / ролей)

Тема прав доступа к базе данных немного сложна для осмысленного освещения на этом форуме, поэтому я предлагаю вам немного изучить ее через Google и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...