权限设计浅谈

转载 2006年05月17日 21:08:00

权限设计浅谈——JAVA

权限体系有很多种,最常见的是基于角色的访问控制办法(RBAC),它有如下优点:
1、 减少授权管理的复杂性,降低管理开销
2、 灵活的支持企业的安全策略,对企业的变化有很大的伸缩性


 1、粗粒度:只考虑对象的级别,不考虑对象的实例
2、细粒度:考虑具体的对象的实例
比如发布新闻A,新闻就是粗粒度对象,新闻A就是细粒度对象,权限设计只考虑到粗粒度对象的权限,细粒度对象的权限认为是业务逻辑的一部分

权限设计分为下面几个要素
1、user
2、role,group
3、privilege
4、resource
5、operate

下面逐一介绍
1、 user就是人,是系统的使用者
2、 role就是角色,一个user可能担当多个角色,group是一些user的集合,group同时担当很多角色,在group中的每个user都担当group的所担当的所有角色。比如一个新闻发布系统,有发布角色记为roleA,审核角色记为roleB,我们建一个group记为groupA,并让groupA担当roleA和roleB角色,我们再为groupA添加一个user记为userA,那么userA就担当了roleA和roleB角色。group就象包容器,它包容了role和user,它使得它里面的每个user和role都建立起了对应关系。当然group并不是必需的,它仅为集中为user赋予角色提供了方便,事实上,我们为每个user赋予角色也能达到同样的效果。
(注:group还有一种使用方案,group包容的不是user和role,而是user和privilege,两者之间的差别是不大的,不推荐后种)
3、 privilege就是权限,对对象操作的权利,比如增、删、改等;一般说来,privilge不包括被操作的对象(resourse),但是在很多情况下,privilege可以简化为operate,privilege也就和resource绑定到了一起。
4、 resource就是一些对象,比如报表,记录等
5、 operate就是priviledge+resource,就是一个action,表示对resourse的具体操作。
总之,可以这样描述:在系统中,每个用户(user)担当一些角色(role),每种角色具有一些操作 (operate) 能力,每个操作由权限(privilege)和对象(resource)组成;一些具有相同role的user可以形成一个组(group),并使组(group)承担这些角色(role),这样组(group)中的每个用户也都承担了这些角色(role)。

原则上,如果用户没有某种权限,那么就没有执行某种操作的权利,就不应该看到与进行这些操作有关的东西,比如连接,按钮等,如果等到用户执行这项操作时再告诉用户没有权限的话就不是很好,比如在察看页面上,如果用户没有编辑的权限,那么页面上不应该有连接到编辑页面的连接或按钮(生成察看页面的时候,应该察看用户的权限,从而判断这些按钮或连接是否应该生成出来)。
原则上,当用户提交某项请求时,首先应该检查用户有没有提交该请求的权利,如果没有这种权利(privilege),则提示用户

相关文章推荐

浅谈权限设计

PHPChina的专家版在谈权限设计,苦于没有权限回帖,特发此博文谈谈简单的权限设计。讨论在这里。   最简单的权限验证,应该是登录态的验证,如果登录,则可以怎样,没有登录,则不能怎样: ...

浅谈Linux目录文件权限管理

进入目录需要什么权限?进入后要想显示,创建文件需要什么权限?

浅谈 权限管理

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。 版本1: 以购物网为例 1.最常见的授权功能 在用户表里 增加一个字段  例如...

浅谈数据权限

数据权限参考

跟鸟哥学Linux之——浅谈文件权限

无论是在Linux下还是在Windows下想必大家都遇到过没有对文件操作权限的错误提示;因为在多用户,多任务的操作环境下,为了用户文件的保密性,文件权限的管理就很有必要了,在Linux中文件权限是如何...

浅谈JAVA的访问权限

(一)成员变量和方法的访问权限 1、private修饰词,表示成员是私有的,只有自身可以访问; 2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包...

浅谈数据权限的实现方法和作用机制

在企业开发中,往往对权限的控制有较高的要求,其中也经常会被要求实现对业务数据操作进行权限控制。在这里,分享一下本人在企业开发中的数据权限的实现经验。本文所用的方法和实例,可在CSDN的代码托管平台找到...
  • xuanbg
  • xuanbg
  • 2014-03-07 13:03
  • 3017

浅谈Yii2中rbac的权限管理

RBAC RBAC权限管理,通过管理角色的权限,赋予用户角色来实现权限管理。通过创建路由权限,来进行管理,实际上可以理解为管理路由的访问权限。 首先,我们需要一个权限管理器的组件 我们需要在c...

浅谈腾讯视觉的关系设计

  • 2016-09-30 15:47
  • 431KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)