由于我们从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)
有什么建议吗?
答案 0 :(得分:4)
我认为我们遇到了两跳问题。如果我将我们的SQL / Oracle数据库移动到运行IIS的服务器上,它就能工作。
所以这是一篇描述解决方案的文章。
How to configure SQL and IIS for two hop kerberos authentication 2
或 SSRS Reportviewer ASP.NET Credentials 401 Exception
由于
答案 1 :(得分:1)
您使用的是哪个客户?您可能正在运行尝试进行预身份验证的客户端,但在IIS 7中,我们默认使用内核模式身份验证,这需要一个挑战。如果是这种情况,您可以通过选择Windows身份验证条目并单击高级设置来禁用内核模式身份验证,您应该会看到一个复选框,允许您为特定应用程序禁用该功能,如果这是问题,它应该可以正常工作。