2010-07-07 139 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");