Pat*_*ski 19 asp.net iis-7 windows-authentication
在Windows Server 2008下的IIS7中,我有一个虚拟目录,其中包含匿名访问和Windows身份验证.在我的web.config中,我有:
<authentication mode="Windows"/>
<authorization>
<allow roles="MYGROUP"/>
<deny users="*"/>
</authorization>
Run Code Online (Sandbox Code Playgroud)
和
<system.webServer>
<!-- IIS7 security settings -->
<security>
<authorization>
<add accessType="Deny" users="*"/>
<add accessType="Allow" roles="MYGROUP"/>
</authorization>
</security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
然而,当我从IE访问default.aspx并在Global.asax.vb Application_AuthenticateRequest()中设置断点时,我得到一个空的HttpContext.Current.User,我期待我自己的身份.几乎就像匿名访问一样?
我该怎么做才能解决这个问题?一切似乎都适用于IIS6.
Cho*_*ith 25
将应用程序池移回经典的答案只是推迟了问题.
而是单独留下应用程序池并将您的身份验证检查从Application_AuthenticateRequest()
管道中的下一个函数移到:
Application_AuthorizeRequest(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
届时集成应用程序池已经完成了Windows身份验证,您不接收null
从HttpContext.Current.User
.
管道可以在这里找到(链接由CarlosAg提供).
可以在asp网站消息生命周期页面上找到管道的可视化.在控制器部分,检查两个绿色框"验证过滤器"和"授权过滤器".这些是你正在搞乱的领域.
归档时间: |
|
查看次数: |
30138 次 |
最近记录: |