|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-07-14
现实中一般不会有这种状况出现,有谁听说过胡core当了国家主席就不能指挥军队这种荒谬的事情吗,退一万步来说,如果确实遇到这个问题,可以给角色加个权限过滤在最后。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
rihoonet 写道 权限一般都不能合并,要不然会有很多问题,是好是登录的时候,根据角色登录,就不会产生这种问题。
明显有问题啊,用户--角色--资源,这是RBAC的基本模型,角色是权限的集合,一个用户本来就可以被赋予多个角色的,如果按照角色登录的话,你还不如直接把权限分配给用户算了,省的中间加一个角色。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
zisidemao 写道 presses 写道 一般权限系统都是考虑“能”权限而不考虑“不能”权限。
例如linux系统的权限系统。对一个文件,你能授与群组“能读”、“能写”、“能删除”权限。但你不可能授与群组“不能读”、“不能写”、“不能删除”权限。 例如有一个文件file1、一个用户名为user1、群组为userGroup1。 假若你只授与userGroup1对file1的“能读”权限,那只代表userGroup1的用户对file1一定有“读能”权限、可能有“能写”权限、可能有“能执行”权限。但绝不代表用户对file1“不能读”、“不能执行”。 当然、权限系统是你设计的,你怎样设计都行。但我觉得考虑“不能”权限是自找麻烦。 确实,我觉得这个优先级作用也不大,既然已经分给用户某角色并且这个角色对某资源又有权限则就应该是有权限 但是如果2个角色之间的授权有冲突呢?比如某资源的权限绝对不能分给角色1,但是可以分给角色2,而用户1同时又拥有角色1和角色2,这样如何解决? 你说的这种情况在RBAC中都有具体的控制级别,这种应该是Level 3吧,很久不看,记不清楚了,建议看看RBAC规范。 具体解决还是看具体需要了,可以控制用户更换角色进行操作,也可以进行权限的合并操作。 有两个具体的场景 1、会计和出纳的关系 2、POS机上,普通收银员和管理者的关系 这里不细说了。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
RBAC的规范里面有讲关于角色的优先级问题的,但跟你描述的不是一回事儿,我觉得你这个问题就是“能”与“不能”的问题,一般的权限控制系统都是授予“能”的权限,也可以对某些资源直接设置是否启用权限控制,如果不启用,则意味着某角色对该资源全“能”,启用控制之后再细分哪些“能”,哪些“不能”
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
把角色权限交差关系写入到权限管理模块中的做法,不仅会使权限管理混乱,而且也增加了程序代码的维护难度。
我的作法是,如果权限交差严重,就定义新的角色,然后采用角色权限继承的方式,将权限下放给用户级管理,系统级的用户只管理重要角色的权限就可以了。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
为安全起见,遵循权限最小原则
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
我觉得同业务有关系,可否设置成用管理员自定义权限优先级?这样就可以由管理员根据优先级别来定义用户的权限……
不过这样设置可能会增加程序的复杂性及管理员的水平也要有相应的提高…… 我也同意如下的建议,我们现在设计一般都按下面的规则: dianthus 写道 为安全起见,遵循权限最小原则
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
presses 写道 一般权限系统都是考虑“能”权限而不考虑“不能”权限。
例如linux系统的权限系统。对一个文件,你能授与群组“能读”、“能写”、“能删除”权限。但你不可能授与群组“不能读”、“不能写”、“不能删除”权限。 例如有一个文件file1、一个用户名为user1、群组为userGroup1。 假若你只授与userGroup1对file1的“能读”权限,那只代表userGroup1的用户对file1一定有“读能”权限、可能有“能写”权限、可能有“能执行”权限。但绝不代表用户对file1“不能读”、“不能执行”。 当然、权限系统是你设计的,你怎样设计都行。但我觉得考虑“不能”权限是自找麻烦。 就是如此。把问题想简单点,千万别空想需求。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
windows中拒绝要高于允许
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-14
你这个问题很奇怪,如果角色有个优先级,也就是说,你赋角色的时候只有最高角色的权限有用,那你还赋其他角色干什么呢。
角色正常情况下就应该是应该是去权限并集的,一种角色代表他可以做一类事,如果出现了这种问题应该是你对角色的抽象划分做的不好,这就像类继承,你不能选择继承超类方法 |
|
| 返回顶楼 | |







