的system.webServer /安全/在我的IIS 7的web.config授权不工作
问题描述:
在自己的管理文件夹的根,我的在我的web.config以下:的system.webServer /安全/在我的IIS 7的web.config授权不工作
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="" roles="Admin" />
</authorization>
</security>
</system.webServer>
这几乎是逐字从IIS documentation,但我改变了角色为“管理员”而不是“管理员”,因为这是我的应用程序中的角色。
我已经确保ASP.NET UrlAuthorization模块没有通过我的根web.config的modules
元素中的<remove name="UrlAuthorization" />
运行。我只是安装了IIS7 UrlAuthorization,所以我知道它正在运行。
问题是,即使我明确允许管理员角色并验证了我的管理员用户已登录,但管理员将获得未经授权的错误。我误解了什么?
注意,因为我开始写这个问题,我解决了这个问题我明确列举禁止所有的角色和去除remove users="*"
,但我不知道为什么它的工作。
答
它看起来不会有这样的答案。但是如果其他人遇到同样的问题,我最终不得不改变我的方法并从ASP.NET管道外部管理安全性。
当您删除该规则,允许访问所有人,以该管理员用户身份登录时,HttpContext.User是否显示该用户处于预期角色?另外,你是否尝试在system.web/authorization中设置等价物(这就是我的工作地点,它适用于IIS7)? – 2012-01-28 04:25:53
是的,管理员登录,我已经确认,与一个'Response.Write(User.IsInRole(“管理员”));'。是的,我尝试使用system.web并注册UrlAuthorization模块 – smartcaveman 2012-01-28 16:25:59