Проверка подлинности Windows MVC5 работает в IISExpress, но не для IIS - PullRequest
0 голосов
/ 07 марта 2019

Тот же вопрос был задан здесь , но это не было для меня решением, прошло более 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

enter image description here

Когда я получаю доступ через IISExpress, я вижу, что есть три записи для одного запроса, два из них получают 401но третий получает 200

enter image description here

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