我使用Windows身份验证来保护ASP.NET MVC5应用程序。
一切正常,我被提示通过浏览器弹出窗口输入凭据,以及正确提供的内容。
但是,我确实经常注意到某些请求被发送了2次或更多次,收到401(未授权)代码,但在请求再次发出后不久,返回200(OK)。
我认为这是与WWW-Authenticate和Authorize请求标头协商的一部分,但我不清楚为什么即使在一开始就提供凭据,这也必须一直发生?
这是正常行为吗? 如果没有,怎么解决? 如果是的话,它是否会受到重大影响?
附件是Fiddler和Firefox开发者控制台的组合截图。
答案 0 :(得分:0)
您遇到的是正常行为。以下是对身份验证如何工作的(非常)简短描述:
在第3步之后,如果服务器未收到所请求的凭据,则会发送另一个401响应,浏览器将显示401错误页面。可以找到更完整的描述here。