我是IIS 7.5的新手,我正在尝试使用Windows身份验证的网站。它是一个ASP.NET 4.0应用程序,它在默认网站下设置为一个应用程序,它运行的是ASP.NET 4应用程序池。应用程序设置为禁用匿名身份验证并启用Windows身份验证。
网站未正确身份验证 - 我可以在事件日志中看到错误(这与使用Null Reference
的某些代码有Context.User
错误),详细信息显示为{{1} } IsAuthenticated=False
为空。
我已在我的Web.config中的User
下设置Authentication Mode = Windows
并尝试了其他各种配置设置但未成功。
我已尝试使用ASP.NET经典应用程序池,但出现错误
处理程序“ExtensionlessUrl-ISAPI-4.0_64bit”有一个错误的模块 “IsapiModule”在其模块列表中
如果可能的话,我更愿意使用ASP.NET 4应用程序池。谁能告诉我需要做什么?
答案 0 :(得分:1)
抱歉,我发现它时忘记发布答案了。实际上,身份验证配置没有任何问题,它与我在Global.asax中过早引用Context.User有关。
在新的集成模式下,身份验证与经典模式的工作方式不同,在Global.asax的Application_AuthenticateRequest事件中,身份验证尚未发生,因此Context.User为null因此我得到的异常以及日志显示IsAuthenticated的事实假的。我将调用Context.User的代码行移动到Application_PostAuthenticateRequest中,它现在正在运行。
答案 1 :(得分:0)
查看IIS Express Windows Authentication
唯一不同的是,IIS 7.5 applicationhost.config
文件位于%systemroot%\System32\inetsrv\config\applicationHost.config