2010-07-07 99 views
0

最终目标是提供防止编程错误的保护。我想确保我的Web应用程序的一部分中的每个页面都有一个如下所示的角色。理想情况下,我想以编程方式检查所有请求(想想IHttpModule),并确保请求的页面具有指定的角色。执行web.config授权条目

我似乎无法找到如何获得允许角色的编程访问权限。

<location path="foo.aspx"> 
<system.web> 
    <authorization> 
    <allow roles="modifier"/> 
    </authorization> 
</system.web> 
</location> 

回答

0

作出否认*根,所以每一个页面是不允许的,直到它被明确激活....

+0

想到了这一点,但希望能给出更有用的信息。特别是因为这是一个稍微不符合标准的配置要求。 – Zac 2010-07-07 22:44:07

+0

您也可以解析web.config并检查文件夹中的aspx文件。或者在全局asax的OnBeginRequest事件中执行检查。 正确的事情将是做这个bevore推出。 :-) 但你会错过放在子文件夹中的web.config。 – cRichter 2010-07-08 07:53:32

0

过这个AuthorizationRuleCollection绊倒了。

从MSDN,我没有尝试过,因为我在MVC框架中使用类似于AuthorizeAttribute的技术来解决我的问题。

System.Configuration.Configuration configuration = WebConfigurationManager.OpenWebConfiguration("/aspnetTest"); 
AuthorizationSection authorizationSection = (AuthorizationSection)configuration.GetSection("system.web/authorization");