IIS 7.5中未启用Windows身份验证

时间:2012-03-14 13:27:43

标签: asp.net iis-7.5

我刚开始学习ASP.NET。我打开了一个默认的ASP.NET应用程序并更改了web.config文件以启用Windows身份验证。

<authentication mode="Windows">
</authentication>

当我使用asp.net开发服务器从VS运行时,它能够检测我的Windows登录并显示它。 我尝试将它发布到同一台PC中的IIS服务器7.5并从那里运行。现在我的Windows登录没有被检测到。 我已从IIS中的身份验证功能启用了Windows身份验证。 在这种情况下我还可能缺少什么?

谢谢..

1 个答案:

答案 0 :(得分:4)

尝试在IIS 7.5中为该网站禁用匿名身份验证。

  • 打开IIS控制台。
  • 选择网站。
  • 双击“身份验证”
  • 确保已禁用“匿名身份验证”

只应为您的目的启用“Windows身份验证”。

这样做的原因是浏览器将匿名执行第一个请求。如果启用了匿名身份验证,则此请求将成功,因此Web服务器将不知道您是谁。

如果您使用像Fiddler这样的工具来检查您和服务器之间的网络流量,您会注意到如果Windows身份验证是唯一配置的方法,您实际上会收到3个请求。请求得到以下答复:

  • 请求1:“我可以匿名登录吗?”
  • 回应1:“不!!!” [HTTP状态码401]
  • 请求2:“好吧,你支持做什么?”
  • 响应2:“我支持Windows身份验证”[HTTP状态代码401]
  • 请求3:“好吧 - 这是我的Windows令牌”
  • 回复3:“嗨RB,这是您的网页”[HTTP状态代码200]