Так как мы переместились от IIS 7.0 до IIS 7.5, аутентификация Windows больше не работает от удаленных запросов. Если я открываю веб-сайт на веб-сервере, все хорошо работает.
web.config:
<authentication mode="Windows" />
<identity impersonate="true" />
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
Настройки IIS:
Authentication (enabled): ASP.NET Impersonation, Windows Authentication (all others are disabled)
ApplicationPool: Managed Pipeline Mode -> Classic, Identity -> ApplicationPoolIdentity
Неудавшаяся трассировка запроса:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName: WindowsAuthenticationModule
Notification: 2
HttpStatus: 401
HttpReason: Unauthorized
HttpSubStatus: 1
ErrorCode: 2148074254
ConfigExceptionInfo:
Notification: AUTHENTICATE_REQUEST
ErrorCode No credentials are available in the security package (0x8009030e)
Какие-либо предложения?
У нас была проблема с двумя хопами, я думаю. Если я переношу нашу SQL/Oracle DB на сервер, на котором работает IIS, она работает.
Вот статья, в которой описано решение.
Как настроить SQL и IIS для двуххоповой аутентификации kerberos 2
или SSRS Reportviewer ASP.NET Credentials 401 Exception
Спасибо
Какой клиент вы используете? Возможно, вы используете клиент, который пытается предварительно аутентифицироваться, но в IIS 7 по умолчанию используется аутентификация в режиме ядра, которая требует вызова. Если это так, вы можете отключить аутентификацию в режиме ядра, выбрав запись Windows Authentication и нажав Advanced Settings, вы должны увидеть флажок, позволяющий отключить эту функцию для конкретного приложения, и это должно сработать, если проблема в этом.