【问题标题】:IIS - Anonymous and Windows authentication enabled - which one is used?IIS - 启用匿名和 Windows 身份验证 - 使用哪一个?
【发布时间】:2020-09-16 12:07:59
【问题描述】:

我在使用 IIS 时遇到了一个奇怪的问题,在我的网站中导航几秒钟或几分钟后,我突然收到 HTTP 500 错误。过了一会儿,我发现我在 IIS 设置中启用了匿名身份验证,这似乎导致了问题,因为该站点需要 Windows 身份验证才能工作。虽然启用了匿名身份验证和 Windows 身份验证,但它似乎只是突然在这些方法之间切换,因此有时 IIS 会在用户登录 IIS 日志文件的情况下接收请求,有时会在没有用户登录的情况下接收请求。它如何确定是否应该使用匿名或 Windows 身份验证,如果启用这两种方法,为什么它似乎在它们之间随机切换?

【问题讨论】:

  • 我需要有关 500 错误的详细信息,以帮助您解决此问题。首先,您可以检查事件查看器中是否记录了详细的错误。其次,您可以尝试设置失败的请求跟踪,这通常会为您提供有关 500 错误的详细信息。最后,您可以查看 Web 日志文件,这对于间歇性 500 错误特别有用,您可以解析日志文件以查看特定页面是否存在抛出 500 错误的趋势。
  • @samwu 事件查看器中没有记录任何内容。除了这些,你还需要什么细节?我已经知道是什么导致了我的问题中所述的 500 错误,但我只想知道为什么会在匿名身份验证和 Windows 身份验证之间发生切换。
  • 一般情况下,如果同时开启windows认证和匿名认证,则默认使用匿名认证。我建议你清除缓存再试一次。

标签: windows authentication iis anonymous


【解决方案1】:

500 错误表示服务器端错误。它总是带有一条消息。我们需要知道那个信息。 如果您同时设置了匿名和 Windows 身份验证。默认情况下它将使用匿名。您必须通过代码自己触发身份验证。 https://techcommunity.microsoft.com/t5/iis-support-blog/windows-authentication-http-request-flow-in-iis/ba-p/324645

【讨论】:

  • 在哪里可以找到该消息?我已经检查了 IIS 日志文件,除了 500 错误之外,我找不到任何其他消息。它似乎也没有一直使用匿名,因为正如我所说,有时它会给出 500 错误,有时不会。似乎它是在匿名和 Windows 身份验证之间随机切换,在我看来这没有任何意义。
  • 错误内容记录在事件查看器的应用程序日志中。如果是身份验证问题,您将收到 402 或 403 错误。您还可以在项目中创建一个 global.asax 文件来捕获错误,如下所述:stackoverflow.com/questions/2340572/…
  • 我已经检查了事件查看器,没有任何关于错误的记录。不幸的是,我现在不能简单地更改项目并对其进行测试,因为该网站当前正在生产环境中运行。您说如果启用了匿名和 Windows 身份验证,它将默认使用匿名,但这根本不是我看到的有关此问题的行为。
  • 您可以使用 F12 跟踪浏览器请求,直到出现错误。您可能会获得更多信息。您还可以使用 CustomError mode=off 或 CustomError mode="remoteOnly" (并从您的服务器浏览)配置 web.config 以获取详细错误
猜你喜欢
  • 2020-12-21
  • 2019-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多