【问题标题】:Windows Authentication issue in IIS 7.5IIS 7.5 中的 Windows 身份验证问题
【发布时间】:2011-06-06 12:23:17
【问题描述】:

我是 IIS 7.5 的新手,我正在尝试让一个站点使用 Windows 身份验证。这是一个 ASP.NET 4.0 应用程序,它被设置为默认网站下的应用程序,它正在运行 ASP.NET 4 应用程序池。该应用程序设置为禁用匿名身份验证并启用 Windows 身份验证。

该站点未正确验证 - 我可以在事件日志中看到一个错误(这是与使用 Context.User 的某些代码有关的 Null Reference 错误),详细信息显示 IsAuthenticated=FalseUser是空白的。

我已在我的 Web.config 中将 Authentication Mode = Windows 设置为 <system.web> 下,并尝试了各种其他配置设置但均未成功。

我尝试使用 ASP.NET 经典应用程序池,但出现错误

处理程序“ExtensionlessUrl-ISAPI-4.0_64bit”有一个坏模块 模块列表中的“IsapiModule”

如果可能的话,我更愿意使用 ASP.NET 4 应用程序池让它工作。谁能建议我需要做什么?

【问题讨论】:

    标签: asp.net iis-7 iis-7.5 windows-authentication


    【解决方案1】:

    对不起,我找到答案时忘记发布答案了。实际上认证配置没有问题,这与我在 Global.asax 中过早引用 Context.User 有关。

    在新的集成模式下,身份验证的工作方式与经典模式不同,在 Global.asax 中的 Application_AuthenticateRequest 事件中,身份验证尚未发生,因此 Context.User 为空,因此出现异常,并且日志显示 IsAuthenticated为假。我将调用 Context.User 的代码行移到 Application_PostAuthenticateRequest 中,它现在可以工作了。

    【讨论】:

    【解决方案2】:

    看看IIS Express Windows Authentication

    唯一不同的是,IIS 7.5 applicationhost.config 文件位于 %systemroot%\System32\inetsrv\config\applicationHost.config

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      相关资源
      最近更新 更多