1

我正在开发一个 MVC4 项目,每个构建都部署到开发环境而不是 QA 环境。每次构建时,QA 成员在访问 QA 站点时都不会遇到问题。在最后一次部署之后,一个 QA 用户正在获取 IE 用户名\密码凭据。如果此 QA 人员取消或将她的 Windows 用户名/密码输入此用户,则 IE 中会出现 401 错误。在 Chrome 中,它只是给她一个 401 错误而不要求提供凭据。

她能够进入开发环境而没有任何问题。所以问题只是在QA环境中。

没有其他人有这个问题(大约 5 或 6 人尝试过。)。

该站点正在使用 Windows 身份验证,并且 IIS 服务器上的所有内容似乎都设置正确。这个有问题的 QA 用户在最后一次部署之前也没有任何问题。

服务器托管是 Windows Server 2008 R2,并使用 .NET 4.0 和 MVC4。

我让用户删除所有浏览器缓存,确保没有设置代理服务器,并确保在 IE 中选中“启用集成 Windows 身份验证”。如果其中任何一个不正确,它也不会在开发环境中工作。

谁能给我有关解决此问题的最佳方法的任何想法?

感谢大家的时间。

编辑

使用 Fiddler 查看请求和响应。两者都是使用 IE 完成的。正在工作的机器正在处理 WWW-Authenticate(2 401 和 200,这是一个 Kerberos 握手。)。然而,不工作的浏览器似乎没有处理 WWW-Authenticate,而是询问用户用户名/密码而不是发送授权:协商。

对有效机器的请求(请求 1)

GET http://MyLocalSite/ HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: 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)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: MyLocalSite
Pragma: no-cache

对有效机器的响应(响应 1)

HTTP/1.1 401 Unauthorized
Cache-Control: private
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Mon, 30 Sep 2013 18:51:54 GMT
Content-Length: 1293
Proxy-Support: Session-Based-Authentication

对有效机器的请求(请求 2)

GET http://MyLocalSite/ HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: 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)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Authorization: Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
Pragma: no-cache
Host: MyLocalSite

对有效机器的响应(响应 2)

HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate TlRMTVNTUAACAAAADgAOADgAAAAVgonioA9ayIkT2AEAAAAAAAAAAJ4AngBGAAAABgGxHQAAAA9HAEUATgBJAE4ARgBPAAIADgBHAEUATgBJAE4ARgBPAAEAFABRAEEAMgBXAEUAQgBJAE4AVAAyAAQAFgBnAGUAbgBpAG4AZgBvAC4AYwBvAG0AAwAsAFEAQQAyAFcARQBCAEkATgBUADIALgBnAGUAbgBpAG4AZgBvAC4AYwBvAG0ABQAWAGcAZQBuAGkAbgBmAG8ALgBjAG8AbQAHAAgAX7yrIQ6+zgEAAAAA
Date: Mon, 30 Sep 2013 18:51:54 GMT
Content-Length: 341
Proxy-Support: Session-Based-Authentication

对有效机器的请求(请求 3)

GET http://MyLocalSite/ HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: 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)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: MyLocalSite
Pragma: no-cache
Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAJYAAAAYABgArgAAAA4ADgBYAAAAFgAWAGYAAAAaABoAfAAAABAAEADGAAAAFYKI4gYBsR0AAAAPTTUv/iiYRszkcKP+vEpEUkcARQBOAEkATgBGAE8AbQBhAHMAdAByAGEAdQBjAGsAYQBzAEkAVABHADUAQwBCADMAMAA4ADMAQwBOADMAMIrf5ReM2DwAAAAAAAAAAAAAAAAAAAAAFpY6vMa57pcoU9CLc22TN/M9wIwMgReGfPTodq1BeQGd0THtjF1BAg==

对有效机器的响应(响应 3)

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
Persistent-Auth: true
X-Powered-By: ASP.NET
Date: Mon, 30 Sep 2013 18:51:54 GMT
Content-Length: 15195

对不起作用的机器的请求

GET http://MyLocalSite/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET CLR 1.1.4322; .NET4.0E; InfoPath.3)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: MyLocalSite

对不起作用的机器的响应

HTTP/1.1 401 Unauthorized
Cache-Control: private
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Mon, 30 Sep 2013 17:50:27 GMT
Content-Length: 1293
Proxy-Support: Session-Based-Authentication

编辑 2

在 QA 测试人员框中,当它为用户提供用户名/密码框时,我将我的凭据放入一切正常工作中。我已将此发送到我们的 NOG 部门,但目前他们也无法弄清楚。所以欢迎任何建议!

4

0 回答 0