2012-07-24 90 views
0

我執行我的web應用程序定義授權的角色定義的接入系統web.config文件,是這樣的:角色定義的訪問和動態角色定義

<location path="myPage.aspx"> 
    <system.web> 
     <authorization> 
      <allow roles="MY_ROLE" /> 
      <deny roles="*" /> 
     </authorization> 
    </system.web> 
</location> 

而在myPage.aspx我用了很多的if小號爲每個角色定義剖面圖可見性。

我的角色結構是靜態的,所以我不應該對這個實現有特別的問題,但是如果我的角色是動態定義的並且有人可以隨時添加或刪除角色呢?

我的執行不正確?我是新來的這個問題,所以我想知道是否有一種常見的解決方法?

回答

0

我實現動態的基於角色的可視性的一種方式是對我使用的服務器控件進行子類化,並創建具有分配給自己的角色的自定義控件(TextBox,Label,PlaceHolder,Panel等)。當頁面呈現時,這些控件檢查他們的角色與登錄用戶的角色,並且基於該檢查可見或不可見。

每個控件都有一個默認角色設置,因此不必爲每個控件提供信息,除非它的角色與默認值不同。

這種方法真的讓我的代碼隱藏文件更加混亂。而且很容易維護。

+0

不錯的建議。謝謝! – davioooh 2012-08-24 13:14:24