Windows身份验证多个请求

时间:2014-01-16 09:22:26

标签: asp.net asp.net-mvc iis windows-authentication asp.net-mvc-5

我使用Windows身份验证来保护ASP.NET MVC5应用程序。

一切正常,我被提示通过浏览器弹出窗口输入凭据,以及正确提供的内容。

但是,我确实经常注意到某些请求被发送了2次或更多次,收到401(未授权)代码,但在请求再次发出后不久,返回200(OK)。

我认为这是与WWW-Authenticate和Authorize请求标头协商的一部分,但我不清楚为什么即使在一开始就提供凭据,这也必须一直发生?

这是正常行为吗? 如果没有,怎么解决? 如果是的话,它是否会受到重大影响?

附件是Fiddler和Firefox开发者控制台的组合截图。

enter image description here

1 个答案:

答案 0 :(得分:0)

您遇到的是正常行为。以下是对身份验证如何工作的(非常)简短描述:

  1. 请求被发送到服务器(没有凭据)=>未经过身份验证(您的第一次请求)
  2. 服务器响应401(拒绝访问)
  3. 浏览器收到错误并返回凭据=>>经过身份验证(您的第二个请求)
  4. 在第3步之后,如果服务器未收到所请求的凭据,则会发送另一个401响应,浏览器将显示401错误页面。可以找到更完整的描述here

相关问题