首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

页面内部权限控制解决思路

2012-01-07 
页面内部权限控制最近在做有关权限设计的模块,打算基于角色的访问控制RBAC(Role-BasedAccessControl),我已

页面内部权限控制
最近在做有关权限设计的模块,打算基于角色的访问控制RBAC   (Role-Based   Access   Control)   ,我已经设计好了三张表:人员,角色,权限。人员放到角色里,然后给角色赋权。以上是基本的思路。

我想请教一下,当打开一个页面(aspx)时候,比如增加、删除、修改三个按钮,如何根据这三种权限来控制这三个按钮的可见与不可见。因为在程序设计的时候,有很多页面都有这样三个按钮,如果才可以做的比较通用呢?

谢谢各位了!

[解决办法]
写一个CustomeButton类,继承自Button,添加一个属性,即权限标识符属性:然后跟据这个东西 判断是否有权限
如:
<uc1:Button id= "btnEdit " Active= "Edit " runat= "server " Text= "编辑 "/>
[解决办法]
可以重写button,加个tag属性。

不同的按钮根据不同权限设置tag属性,不如but允许3个权限(1,2,3),设置tag= "1|2|3 "

然后系统所有页面的.cs类继承1个同1个基类PageBase,在PageBase中取当前用户的权限,比如该用户有权限1,然后循环取所有页面中的button,并跟button中的tag属性判断是否有1个的,有的则显示,没有的则隐藏。

这个方法通用,只需在PageBase写代码就OK
[解决办法]
BearRui 的想法不错,不过遍历的方法是否在效率上有影响,值得商榷

热点排行