最终目标是提供针对编程错误的保护。我想确保我的Web应用程序的一部分中的每个页面都具有如下所示的角色。理想情况下,我想以编程方式检查所有进入的请求(想想IHttpModule),并确保所请求的页面具有指定的角色。
我似乎无法找到如何获得允许角色的编程访问权。
<location path="foo.aspx">
<system.web>
<authorization>
<allow roles="modifier"/>
</authorization>
</system.web>
</location>
答案 0 :(得分:0)
在root中做一个deny *,所以不允许每个页面,直到它被明确激活....
答案 1 :(得分:0)
偶然发现了AuthorizationRuleCollection。
从MSDN开始,我没有尝试过,因为我使用类似于MVC框架中AuthorizeAttribute的tecnique解决了我的问题。
System.Configuration.Configuration configuration = WebConfigurationManager.OpenWebConfiguration("/aspnetTest");
AuthorizationSection authorizationSection = (AuthorizationSection)configuration.GetSection("system.web/authorization");