刚学习RBAC 对于应用范围有些疑惑。
拿一个论坛型的网站来说,会员这个角色下会有很多的用户,怎么去控制让每个用户只能对自己发表的文章进行删改操作?
现在想到的办法是每一篇文章都带USER_ID,判断操作的用户的ID是不是文章发表者,是的话再允许删改操作。
但是这样一来用RBAC就没有意义了,直接看ID操作就是了。再给管理员个超级ID,判断时可以删改所有人就OK了。
RBAC对于权限的控制似乎限制到了操作,但是对于会员这个角色,都需要可以进行增删查改啊。怎么样可以把权限控制细化到只能对自己创建的东西进行删改呢?
RBAC角色管理论坛应用

解决方案 »

  1.   

    RBAC 只作为权限管理的整体出现的,简单的权限的确是不需要庞大的机制的
    但你不是在学习 RBAC 吗?直接就把它否了,还学习个p会员角色 设置禁止删改
    然后再设置个例外:贴主允许
      

  2.   

    难道你忘记还有session和cookie了吗,用户ID完全可以放在这个里面
      

  3.   


    不是否了它,学习了就是想用,只是不了解它的功能的强大的地方。和适用性。所以想咨询一下。对于你提到的例外:贴主允许,这个应该怎么搞?会员角色的成员都同时给他贴主角色? 然后在贴主的删与改function中判断当前的文章的作者是不是目前操作的成员?贴主的删与改function是不是还要与管理员,版主的分开,不然该function中还要增加判断当前操作者是否为贴主的上一级管理者功能?另外对于像CSDN这样的bbs,是不是也只有超管,管理员,版主,会员 这几个角色啊?感觉上RBAC应该是角色越多越强大,但如果像CSDN这样的应用都不需要太多的角色,那什么应用才需要?
      

  4.   


    不是否了它,学习了就是想用,只是不了解它的功能的强大的地方。和适用性。所以想咨询一下。对于你提到的例外:贴主允许,这个应该怎么搞?会员角色的成员都同时给他贴主角色? 然后在贴主的删与改function中判断当前的文章的作者是不是目前操作的成员?贴主的删与改function是不是还要与管理员,版主的分开,不然该function中还要增加判断当前操作者是否为贴主的上一级管理者功能?另外对于像CSDN这样的bbs,是不是也只有超管,管理员,版主,会员 这几个角色啊?感觉上RBAC应该是角色越多越强大,但如果像CSDN这样的应用都不需要太多的角色,那什么应用才需要?
    用户组和权限组不是都是独立的吗?
    会员组:权限A B C D .......
    管理组:权限A B C D E F......
    权限A:发表
    权限E:删除
    起码我是觉得RBAC的适用范围是挺广的~像一般的后台管理都可以用到~不同角色进入后台管理不同模块
      

  5.   


    不是否了它,学习了就是想用,只是不了解它的功能的强大的地方。和适用性。所以想咨询一下。对于你提到的例外:贴主允许,这个应该怎么搞?会员角色的成员都同时给他贴主角色? 然后在贴主的删与改function中判断当前的文章的作者是不是目前操作的成员?贴主的删与改function是不是还要与管理员,版主的分开,不然该function中还要增加判断当前操作者是否为贴主的上一级管理者功能?另外对于像CSDN这样的bbs,是不是也只有超管,管理员,版主,会员 这几个角色啊?感觉上RBAC应该是角色越多越强大,但如果像CSDN这样的应用都不需要太多的角色,那什么应用才需要?
    用户组和权限组不是都是独立的吗?
    会员组:权限A B C D .......
    管理组:权限A B C D E F......
    权限A:发表
    权限E:删除
    起码我是觉得RBAC的适用范围是挺广的~像一般的后台管理都可以用到~不同角色进入后台管理不同模块
    是的,但是我的问题是会员组里的用户的问题,比如说
    会员组有两个用户 :甲,乙
    甲写了文章1,文章2
    乙写了文章3,文章4
    会员组因为都需要可以编辑自己发表的文章,所以有编辑权限那怎么限定 甲只能编辑文章1,文章2。不能编辑文章3,文章4??
      

  6.   

    那具体怎么设例外呢?RBAC中有例外吗?我用的THINKPHP的框架,好像没有看到有例外的用法?
      

  7.   

    那具体怎么设例外呢?RBAC中有例外吗?我用的THINKPHP的框架,好像没有看到有例外的用法?
    那你业务需求是一定是要按照官方的来吗?权限管理只是一个体系~可以的话你也可以按照自己需求来自定义
    http://www.thinkphp.cn/code/246.html