Тот же вопрос был задан здесь , но это не было для меня решением, прошло более 16 часов, я пытаюсь найти решение для него.
Я устанавливаю Windows Authentication дляМое приложение MVC5 (ASP.Net Fw4.5), использующее VS2013 (Windows Server 2012 R2), - вот основные шаги, которые я сделал для настройки.
- У меня есть два контроллера, я поместил атрибут Authorize на домашний контроллер, О контроллере не имеет никакого атрибута
- В свойствах проекта Включена проверка подлинности Windows
Web.Config, как показано ниже
<authentication mode="Windows" />
<authorization>
<allow users="?" />
</authorization>
<identity impersonate="false" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<validation validateIntegratedModeConfiguration="false" />
Настройки IIS
- Включена анонимная проверка подлинности
- Включена проверка подлинности Windows (поставщик: NTLM, согласование)
С этими настройками мое приложение отлично работает наIISExpress, но когда я обращаюсь к нему через IIS, он запрашивает логин / пароль после предоставления правильного имени пользователя / пароля, он продолжает повторяться.(Я могу получить доступ к About Controller без атрибута Authorize)
Я проверил запрос через Fiddler, который принес что-то интересное.Ниже приведен ответ, когда я получаю доступ через IIS
Когда я получаю доступ через IISExpress, я вижу, что есть три записи для одного запроса, два из них получают 401но третий получает 200