【问题标题】:Windows Authentication not getting enabled in IIS 7.5IIS 7.5 中未启用 Windows 身份验证
【发布时间】:2012-03-14 13:27:42
【问题描述】:

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

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

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

谢谢..

【问题讨论】:

标签: asp.net iis-7.5


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • @Manoj - 我已经更新了我的答案,说明了它产生影响的原因。
  • 能够在fiddler中看到相关的数据包!感谢您的详细回答!
  • @RB。当我在 IIS 中打开身份验证时,在检索状态时出现错误......知道如何解决。
猜你喜欢
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2011-06-23
  • 2013-06-03
  • 2012-09-01
  • 2014-01-09
相关资源
最近更新 更多