0

我正在我的网络应用程序中实现角色定义的访问系统,在web.config文件中定义授权,例如:

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

myPage.aspx我使用了很多ifs 来定义每个角色的部分可见性。

我的角色结构是静态的,所以我不应该对这个实现有特别的问题,但是如果我的角色是动态定义的并且有人可以随时添加或删除角色怎么办?

我的实现不正确吗?我是这个问题的新手,所以我想知道是否有一种通用的方法来解决它?

4

1 回答 1

0

我实现基于角色的动态可见性的一种方法是对我使用的服务器控件进行子类化,并创建为自己分配角色的自定义控件(TextBox、Label、PlaceHolder、Panel 等)。当页面呈现时,这些控件检查他们的角色与登录用户的角色,并且基于该检查是否可见。

每个控件都有一个默认角色设置,因此不必为每个控件提供信息,除非它的角色与默认值不同,当然。

这种方法确实使我的代码隐藏文件变得不那么混乱。而且很容易维护。

于 2012-07-24T16:41:19.003 回答