关于RBAC的使用

我想使用RBAC来做权限管理,但是觉得实现起来非常麻烦,不知道是不是我对RBAC的理解有问题?

我的需求是这样的:

系统中有4种类型的用户(或4个角色,不知道这样对不对?)

  1. guest (游客)

  2. register (注册会员)

  3. mod (版主)

  4. admin (管理员)

现在的主要问题在于,“register”类型的用户的权限是根据它的积分来判断的

比如说:

  积分>=10 可以创建帖子


  积分>=400 可以评论帖子


  .......

“mod”有所有“register”的权限,同时有额外的权限(比如说置顶帖子),同时“mod”的权限不受积分限制

“admin“有更多的权限。

按照RBAC,我觉得实现起来很复杂,

首先create operation:

  [b]createPost[/b]  其中有业务规则 bizrules=”积分>=10"


  [b]createComment[/b] 业务规则 bizrules="积分>400"

createRole:

 [b]register[/b]  将 createPost和createComment添加到register中去,


 [b]mod[/b]  如果mod继承于register的话,这个时候业务规则实际上不满足需求,必然要求 bizrules= ”积分>=10 || 会员是mod"





 如果是admin的话,那规则就的变成 bizrules= ”积分>=10 || 会员是mod || 会员是admin"





我觉得如果这样实现起来,一点不方便啊,还不如利用类似于discuz论坛中的用户组的表格形式来实现呢。

不知道大家是怎么考虑的?能否指点一二?

你理解错了…业务规则只要在操作定义就可以了

http://dongbeta.com/post/469

persistence写的教程真是不错,谢谢分享!

这个博客原来是你的,很不错。

提供个新的思路,可以写个借口麻,这样控制起来相对会比较简单,不知道各位觉得怎么样?

这个不是我的blog。