锁定老帖子 主题:请教权限设计中的关系问题
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2004-02-27
另外如果要加上组的概念,是否设计该变成用户和组多对多,组和角色多对多,角色权限多对多,权限,资源多对多? 感觉这么多的多对多好像不应该,请问大家该如何设计? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-02-27
权限设计中有用户、组、角色、资源、权限几个对象组成,无论关系怎样复杂,最终的目的是要把用户与资源的关系描述出来,也就是最终体现在某用户对某些资源有哪些权限,用一张表来存储,包含用户ID、资源ID、权限列表,权限是相对独立的对象,比如:查询、修改、添加、删除等,而组、角色其实是为了管理、方便维护而人为产生的,最重要的是用户、资源、权限的关系。
|
|
返回顶楼 | |
发表时间:2004-02-27
谢谢楼上的回答,不过用户,权限,资源也都是多对多的关系。这样是否恰当了?用户(n---m)权限(n--m)资源。
我看了本论坛的dingyd设计的一个权限系统,他里面很多都是没有关联的,是在 程序里面调用的。感觉好象没有把hibernate的威力发挥出来, 不好意思啊,dingyd老大,呵呵!其实你的代码已经让小弟收益良多,谢谢了! |
|
返回顶楼 | |
发表时间:2004-02-29
看样子似乎是比较复杂,我也没试过,不知道hibernate是否能够高效地实现这些关系,试试看好了。
我觉得也并不是在任何情况下,都要采用hibernate的各种关联,有时候还得要考虑效率的问题。比如说,一个贴子Thread,它可能有多个(几十,上百?)个回贴,这时如果采用one-to-many的话效率可能很低。 |
|
返回顶楼 | |
发表时间:2004-03-03
看看appuse案例(用struts+hibernate和spring+hibernate),它基本满足一般应用的权限要求。它主要设计思路是:
user--userole--role role--rolepermission--permission user--usergrouprole--role | group 如果权限需求复杂的话(如将permission在拆分为operation+resource,将resource设计成层次结构的,将role也设计成层次结构的),研究一下RBAC。 |
|
返回顶楼 | |
发表时间:2004-05-20
OldWen 写道 看看appuse案例(用struts+hibernate和spring+hibernate),它基本满足一般应用的权限要求。它主要设计思路是:
user--userole--role role--rolepermission--permission user--usergrouprole--role | group 如果权限需求复杂的话(如将permission在拆分为operation+resource,将resource设计成层次结构的,将role也设计成层次结构的),研究一下RBAC。 我是这样设计的: group <---- operator group <---- role operator <---> operatorRoles <---> role role <---> roleFunctions <---> function |
|
返回顶楼 | |
发表时间:2004-06-01
请问:“appuse案例(用struts+hibernate和spring+hibernate)”是什么啊?是开源项目吗?可是我在SF中又没有搜到!
|
|
返回顶楼 | |
发表时间:2004-06-02
你可以在google里面直接搜索appfuse,另外楼主可以看一下acegi-security-0.5,这个东西是在SPRING下做的安全系统,很方便。我最近在研究,用起来感觉很爽。可以做到在不改变你原来代码的情况下,直接对方法的调用进行身份验证。
|
|
返回顶楼 | |
发表时间:2004-06-05
谢谢楼上!原来不是appuse而是appfuse,难怪搜不到!看来楼上的对acegi-security-0.5已经很有感觉了。能否写点心得大家共享啊!:)
|
|
返回顶楼 | |
发表时间:2006-10-19
RBAC 是什么东西啊
|
|
返回顶楼 | |