我遇到了一个问题,试图让Windows身份validation在使用Microsoft应用程序请求路由的环境中工作,并希望有人能够提供帮助。
我遇到的问题是,只有一些请求进行身份validation,而其他人失败401错误。 我已经在http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for上查到了Web Farm中运行IIS 7.0的特例。 -kerberos-authentication-with-iis-7-0.aspx无济于事。
我目前的服务器设置如下所示:
ARR
Web Farm
http/<virthalhost-name>:<port-number>
和http/<virtualhost-name>.<fully-qualified-domain>:<port-number>
域帐户中http/<virtualhost-name>.<fully-qualified-domain>:<port-number>
身份validation正在工作/失败时,IIS日志显示以下内容。 如果我理解正确,所有请求都应显示DOMAIN \ User_Name:
2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/stylesheets/techweb.landing.css - 8002 DOMAIN\User_Name ARR-HOST-1-IP-ADDRESS 200 0 0 62 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-right.gif - 8002 - ARR-HOST-1-IP-ADDRESS 401 2 5 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-left.gif - 8002 DOMAIN\User_Name ARR-HOST-IP-ADDRESS 200 0 0 31 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 2 5 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 2148074248 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/application-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 2148074248 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-right.gif - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 3221225581 15 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/building.gif - 8002 DOMAIN\User_Name ARR-HOST-2-IP-ADDRESS 200 0 0 218
有谁知道什么可能会导致这个问题,我怎么能解决它?
编辑
每当执行networking捕获时,我都会看到Negotiate头文件被发送到服务器。
第一个要求/home
:
请求
没有
响应
Proxy-Support: Session-Based-Authentication WWW-Authenticate: NTLM WWW-Authenticate: Negotiate
第二个要求/home
:
请求
Authorization: Negotiate YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAY....
响应
Proxy-Support: Session-Based-Authentication WWW-Authenticate: Negotiate oRUwE6ADCgEDoQwGCisGAQ....
第三(和最后)请求/home
:
请求
Authorization: Negotiate oTMwMaADCgEBoioEKE5UTE1TU1AAAQAAAJe....
响应
Proxy-Support: Session-Based-Authentication WWW-Authenticate: NTLM WWW-Authenticate: Negotiate
第三个请求后,我从IIS获得401页面。
获取失败请求的networking数据包捕获,并检查Kerberos身份validation令牌的Http请求头。 如果你期待kerberos令牌,它不存在,这个问题可能不是你的服务器。
我假设你正在期待kerberos,因为SPN清单。
有关更多信息,请参阅以下内容: