论坛首页 Java版 企业应用

权限管理角色优先级问题

浏览 5914 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-07-13
zisidemao 写道
你的意思是不能有冲突么?合并是可以的,用户被分配多个角色

合并可以的话,那么你这个提问的目的是什么?

假如有个功能Func与两个角色Role1、Role2和人员Person
Person有两个角色Role1(相当于业务员)、Role2(相当于公司总经理)
Role1、Role2对功能Func都有打开的权限
但Role1只能看自己的数据,而且有编辑的权限
Role2能看公司全部的数据,没有任何编辑的权限,

这个你怎么合并,是合并成只能看自己的数据,有编辑功能还是能看公司的数据,没有编辑数据的功能还是。。。。。,这仅仅是一个最简单的冲突体现,还没有涉及到字段等。。。

所以用户分配多个角色的话,在登录系统的时候,以角色登录,就可以解决这个问题。
   
0 请登录后投票
时间:2008-07-14
可以给角色加上排斥/兼容属性,是排斥属性的,优先级最高,是兼容属性的,优先级低。

以上没有实验过,觉得这样比优先级简单
   
0 请登录后投票
时间:2008-07-14
优先级有没有用要看你的权限规则是怎么定的,不要把权限的数据库结构或者说domain object和权限规则必然地联系起来,权限规则以及model的设计是多种多样的,而且一个系统也有可能采用多种规则,能满足需求都可以,当然肯定是有些扩展性好点,维护难点,有些......。
   
0 请登录后投票
时间:2008-07-14

在linux的访问控制文件中,有两个,一是hosts.allow,一是hosts.deny,这就有一个优先权的问题,按Linux下的规则,就是allow优先,也就是说,如果IP处在allow列表中,就不在检查deny列表了.

 

当然,说到底还是规则的问题,你自己随意定就是了,但我们还是应该按惯例办事,大家才好理解哦.

   
0 请登录后投票
时间:2008-07-14
不明白、呵呵
   
0 请登录后投票
时间:2008-07-14
可以类似acgei的投票策略来解决:
1.所有条件都满足才有权限
2.有一个条件满足就有权限
3.没有否定的条件就有权限
4.有一个否定的就没有权限

等等了,看你的策略而定。。。。
   
0 请登录后投票
时间:2008-07-14
权限本身就是:删除记录

A 有这个权限
B 没有这个权限
于是AUB的结果当然也就是对此操作并操作 结果当然是有
   
0 请登录后投票
时间:2008-07-14
和业务相关了!具体问题具体解决!
   
0 请登录后投票
时间:2008-07-14
一般我们不允许角色合并。如果真的出现这样的需求,我们一般是要求客户根据现有的角色创建一个新的角色。在出现冲突的时候,你可以默认允许删除,也可以默认不允许删除,这个我们不推荐使用什么优先级,这样会无必要地搞复杂问题。然后让用户自己选择是可以还是不可以。最后让用户保存这个角色。
   
0 请登录后投票
时间:2008-07-14
优先级?
简单问题复杂化,你这样会把客户搞晕掉

你想让他向上或向下完全自己决定,用户在使用时自然回去判断多角色合并后的权限是什么
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐