[旧文]关于权限的设计(1)

在设计一个灵活的权限管理系统时,不仅要考虑权限分配,还要考虑到权限与界面,功能的挂接,在开发一个基于WEB应用的系统时,可以研究一下Windows的权限管理,大概是这么实现的:
1.用户基本信息表.Users
2.组信息表:Groups
3.组明细表:GroupsDetail
4.用户资源表:UserSource
5.组资源表:GroupSource
6.功能组件列表:Components
用法:
1.组明细表包含组里的用户,如果设计成树型结构则可以形成金字塔型权限管理,目前只实现了二层结构,即组下挂用户(GroupDetail),设计类来实现从组中开用户集合和从用户中列组集合.
2.用户资源表和组资源表,分别记录单个用户能存取的资源明细及组能存取的资源明细,要简化设计,可以只用组资源表,即权限授给组,用户从组中继承权限.在资源表中设属性,可控制资源的存取能力,如(完全控制,改写,只读,不可见等)
3.组件功能列表(Components),设计成树型结构,列出软件里的所有功能,具体用户能存取哪些功能,通过授权放到了资源表里.
4.用户登陆后的权限:用户登录系统,从用户资源表(UserSource)得到用户自已的功能,从(GroupDetail)得到用户所属的组,从(GroupSource)得到这些组的资源,最后形成用户能存取的所有资源.
5.通过这些资源来动态构建用户界面.
posted @ 2006-04-03 23:19  kevin's place  阅读(188)  评论(0编辑  收藏  举报