ThinkPHP中RBAC权限控制求助

浏览:3626 发布日期:2013/08/21 分类:求助交流
这段是根据官方rbac类中sql建表后配置的权限

权限配置文件://超级管理员
    'RBAC_SUPERADMIN'       =>  'admin',    //超级管理名称
    'ADMIN_AUTH_KEY'        =>  'superadmin',    //超级管理识别
    'USER_AUTH_ON'          =>  true,        //开启验证
    'USER_AUTH_TYPE'        =>  1,        //验证类型(1登录验证,2实时验证)    
    'USER_AUTH_KEY'         =>  'uid',        //用户认证识别号
    'NOT_AUTH_MODULE'       =>  'User',            //不验证的控制器
    'NOT_AUTH_ACTION'       =>  '',//不验证的action
    'RBAC_ROLE_TABLE'       =>  'lx_role',    //角色表名称
    'RBAC_USER_TABLE'       =>  'lx_role_user',    //用户关联表
    'RBAC_ACCESS_TABLE'     =>  'lx_access', //权限表
    'RBAC_NODE_TABLE'       =>  'lx_node',    //节点表
test用户给的权限:

Index控制器的index方法允许

Baoji控制器的所有方法允许访问

但当我登录该用户点击baoji控制器下的remark时 报无权限 求高手提点提点....import('ORG.Util.RBAC');
        RBAC::saveAccessList();
        p($_SESSION);
下面是结果Array
(
    [verify] => 20c1945eae4b9868cbbfd09675f7d76e
    [uid] => 5
    [username] => test
    [last_login_time] => 1376992491
    [last_login_ip] => 127.0.0.1
    [_ACCESS_LIST] => Array
        (
            [DEFAULT] => Array
                (
                    [INDEX] => Array
                        (
                            [INDEX] => 31
                        )
 
                    [BAOJI] => Array
                        (
                            [INDEX] => 40
                            [REMARK] => 41
                            [VIEW] => 42
                            [SUBMIT] => 43
                        )
 
                )
 
        )
 
)
这是权限判断的代码$notAuth=in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE'))) ||

    in_array(ACTION_NAME, explode(',', C('NOT_AUTH_ACTION')));

    if(C('USER_AUTH_ON') and !$notAuth){

        import('ORG.Util.RBAC');

        RBAC::AccessDecision()||$this->error('没有权限');

    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>