Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье устранена проблема, из-за которой непредвиденное состояние 401.1 возвращается с заголовками предварительной проверки подлинности. Это происходит при использовании Internet Explorer для браузера веб-приложения, размещенного в службы IIS (IIS).
Исходная версия продукта: режим Internet Explorer в Microsoft Edge, Internet Explorer 11, службы IIS
Исходный номер базы знаний: 2749007
Симптомы
Рассмотрим следующий сценарий:
- Вы используете Internet Explorer (или режим Internet Explorer в Microsoft Edge) для просмотра веб-приложения, размещенного в IIS.
- Клиентский компьютер настроен для использования предварительной проверки подлинности в параметрах Интернета, а проверка подлинности в режиме ядра включена в службах IIS.
- Веб-запрос, отправленный Internet Explorer (или режим Internet Explorer в Microsoft Edge), является первым запросом, который будет отправлен в приложение IIS.
В этом сценарии СЛУЖБЫ IIS могут возвращать ответ Протокола передачи гипертекста (HTTP) 401.1 в Internet Explorer (или режим Internet Explorer в Microsoft Edge) в ответ на запрос браузера. В веб-браузере может потребоваться ввести имя пользователя и пароль. Или сообщение об ошибке HTTP 401.1 может отображаться в окне браузера.
Причина
Такое поведение предусмотрено разработчиками. Ответ 401.1 возникает, если первый запрос веб-браузера, отправляемый приложению IIS, содержит один из следующих заголовков:
- Заголовок windows Challenge/Response (NTLM)
- Заголовок "Согласование WWW-authorization" (известный как предварительная проверка подлинности)
Примечание.
Существует множество причин, по которым пользователю может быть предложено указать учетные данные в Internet Explorer, которые находятся за пределами этой статьи. Дополнительные сведения см. в разделе "Дополнительные сведения" , чтобы узнать, является ли причина запроса причиной проблемы, описанной здесь.
Обходное решение
Чтобы обойти это поведение, отключите предварительную проверку подлинности в параметрах Интернета или отключите проверку подлинности в режиме ядра для веб-приложения IIS.
Предупреждение
При неправильном использовании редактора реестра могут возникнуть серьезные проблемы, которые могут потребовать переустановки операционной системы. Корпорация Майкрософт не может гарантировать, что вы можете решить проблемы, возникающие из-за неправильного использования редактора реестра. При изменении реестра полагайтесь на свой опыт и знания.
Чтобы изменить это поведение в Internet Explorer, используйте редактор реестра (Regedt32.exe), чтобы добавить значение в следующий раздел реестра:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/
Примечание.
Раздел реестра — это путь; он был упакован для удобства чтения.
Добавьте следующие значения реестра:
- Имя значения:
DisableNTLMPreAuth
- Тип данных:
REG_DWORD
- Значение:
1
Чтобы изменить это поведение в IIS, отключите проверку подлинности в режиме ядра для веб-приложения IIS:
Откройте диспетчер службы IIS (IIS), выполнив следующую команду из командной строки администрирования:
%windir%\System32\inetsrv\inetmgr.exe
В области "Подключения" разверните имя сервера, разверните узлы, а затем разверните сайт, приложение или веб-службу, для которой требуется отключить проверку подлинности в режиме ядра.
Прокрутите страницу до раздела "Безопасность " в области "Главная ", а затем дважды щелкните " Проверка подлинности".
В области проверки подлинности выберите проверку подлинности Windows.
Выберите "Дополнительные параметры" на панели "Действия ".
Когда появится диалоговое окно "Дополнительные параметры" , снимите флажок "Включить проверку подлинности в режиме ядра".
Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Дополнительные параметры ".
Внимание
Отключение проверки подлинности в режиме ядра может привести к сбою веб-приложений, требующих проверки подлинности Kerberos и делегирования.
Дополнительная информация
Чтобы определить, вызвана ли запрос проблемой, описанной в этой статье, используйте средство Fiddler. Используйте средство для просмотра трафика HTTP-запроса и ответа для запроса, что приводит к запросу в Internet Explorer (или в режиме Internet Explorer в Microsoft Edge). Кроме того, для подтверждения состояния HTTP и кодов состояния подзаготов вам потребуется журналы IIS с сервера IIS. В следующем примере для иллюстрации этого поведения используется Internet Explorer:
Запустите средство Fiddler и включите запись трафика.
Перейдите к веб-приложению IIS, чтобы оно привело к запросу учетных данных.
В Fiddler найдите запрос, который привел к 401. Глядя на необработанные представления запросов и ответов, вы увидите записи, аналогичные следующим:
Заголовки запроса:
GET /App1/default.aspx HTTP/1.1 Accept-Language: en-US Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: websitename Cookie: ASP.NET_SessionId=jdzbfpnmacq0jykhxnhqhe3j Authorization: Negotiate <header content omitted>
Заголовки ответов
HTTP/1.1 401 Unauthorized Content-Type: text/html Server: Microsoft-IIS/7.5 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Wed, 22 Aug 2012 17:41:09 GMT Content-Length: 1293 Proxy-Support: Session-Based-Authentication
Примечание.
Первоначальный запрос к веб-приложению уже содержит Authorization
заголовок, который затем приводит к ответу 401. Соответствующий журнал IIS должен отображать запись, аналогичную следующей:
2012-08-22 17:41:09 2001:4898:0:fff:200:5efe:157.59.113.72 GET /App1/default.aspx - 80 - 2001:4898:0:fff:0:
5efe:172.18.100.183 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/5.0;+SLCC2;+.NET+CLR+
2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Media+Center+PC+6.0;+.NET4.0C;+.NET4.0E;+InfoPath.3;+MS-
RTC+EA+2;+BRI/1;+Zune+4.7;+MS-RTC+LM+8;+BRI/2;+Creative+AutoUpdate+v1.41.02) 401 1 2148074254 5005
Состояние HTTP и вложенное состояние — 401.1, которое сопоставляется с "Отказано в доступе" из-за недопустимых учетных данных.
Дополнительные сведения см. в следующей документации: