论坛首页 Java企业应用论坛

关于RBAC权限管理的一点小思考

浏览 2711 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-05-26   最后修改:2012-05-26
做任何应用系统 “组织结构和权限管理”都是必不可少的,同时也是最重要的,实现的好坏直接影响到系统的易用性和灵活性。走过看过这么多的系统,发现真正做得好的,易用性强系统却不多。

经典的RBAC要求先将权限封装成角色,用户通过角色获取权限,权限(或称许可)还由多个操作组成。

一般情况下,特别是对互联网的应用,严格的RBCA反而很难用。象exshop,淘宝等都允许直接将权限授给用户。管理员即可以通过给用户分配角色进行授权,也可以直接将权限分配给用户。

下面是淘宝卖家后台的权限分配界面:



由于角色内的权限是相对固定的,但很可能在分配权限时,需要在角色的基础上做“微调”

举个例子,张三是一个普通员工,但是他除干普通员工的工作之外,领导还希望其干一项其它的A工作(权限),如果是按严格的RBAC,管理员必须将A工作定义为一个角色ARole,然后再将ARole分配给张三。这无疑会让授权分配的工作变得很麻烦,且会造成系统中存在很多变了味的“角色”。

因此传统的RBAC在岗位分工明确的应用项目中可能比较适合,但是在互联网这个对自由性、简单性要求特别高的应用场景中,传统的RBAC确实不太适合,应该采用“角色+权限”联合授权的方式更加适用一些。

引用
其实象Oracle这样的数据库系统,也不是严格的RBAC,也是采用“角色+权限”联合授权的方式。
  • 大小: 19.9 KB
   发表时间:2012-05-26  
我觉得Spring Security很强大,不过是在企业应用中。如果是互联网应用的话,filter太多肯定会影响整体性能
0 请登录后投票
   发表时间:2012-05-28  
Dead_knight 写道
我觉得Spring Security很强大,不过是在企业应用中。如果是互联网应用的话,filter太多肯定会影响整体性能


Spring Security实施过于复杂,性能也不太行,在互联网环境下,很难实施。
0 请登录后投票
   发表时间:2012-05-29  
来个示例啊,RBAC大家都知道
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics