项目权限模块设计的问题,请大家给点意见

03-10-17 passwind
当前管理员架构为:

user1

---user2

-------user21

-------user22

---user3

---user4

层次越高权限越大,当前级别下可开始多个同级别管理员,上级可以管理下级,同级别管理

员不能管理同级别其他部门的信息

权限的设计初步确定采用RBAC,系统预设三个角色:超级管理员,信息审核员,信息发布员,每个级别都可以映射这三个角色,以解决能做什么的问题;细粒度控制方面,系统添加管理员时,记录该管理员的当前管理节点到管理员属性,然后各业务模块读出该节点信息,控制信息的显示和修改,权限模块在这里要做的只是提供足够的权限信息。

考虑到角色不是很多,所以不打算引入组的概念

技术实现方面,采用权限模块集中控制的模式,每个业务类有一个代类,代理类引用权限模块实现权限的集中控制。

不知道这个设计有没有漏洞,请大家给点意见

banq
2003-10-22 12:16
在开源项目讨论组中有很多这方面的讨论。

你的想法很好,我们基本一致,我也非常想建立这样一个动态灵活的系统,难点我感觉在通用性方面,这个权限设计如果只限定在你这个特殊应用,实现起来不困难。

关于组的概念是否引入,我认为取决于你的用户数,也就是这个系统的操作用户数,如果很多,使用组可以达到简洁的概念。

仅供参考。

passwind
2003-10-24 00:50
后来看了J道论坛权限问题大讨论,看了后思路基本清晰了,第一次做权限设计,挺头疼的

我觉得通用性倒不必过分考虑,要取得通用性和方便用户操作之间的平衡是非常困难的,可用可不用的概念我觉得可免则免,多一个概念不仅会搞乱自己的设计思路,开发出来用户能不能接受这个思想还是个大问题。复杂问题简单化不仅方便了自己也方便了用户

猜你喜欢