我是按视屏教程中的配置RBAC的。配置如下:
'RBAC_SUPERADMIN' => "admin", //超级用户登陆ID
'ADMIN_AUTH_KEY'=>'superadmin', //超级用户标识
'USER_AUTH_ON'=> TRUE, //开启认证
'USER_AUTH_TYPE'=>1, //默认认证类型 1 登录认证 2 实时认证
'USER_AUTH_KEY'=>'uid', //用户认证标识
'NOT_AUTH_MODULE'=>'Public', //默认无需认证模块
'NOT_AUTH_ACTION'=>'', //默认无需认证操作
'RBAC_ROLE_TABLE'=>'tp_role',
'RBAC_USER_TABLE'=>'tp_role_user', //用户跟角色中间关联表
'RBAC_ACCESS_TABLE'=>'tp_access',
'RBAC_NODE_TABLE'=>'tp_node',现在在登陆成功后,执行import("ORG.Util.RBAC");
RBAC::saveAccessList();
p($_SESSION);
die;显示出的_ACCESS_LIST数组总是空的(实际是有分配角色和授权的)跟踪RBAC类的源码发现:RBAC查数据库用的是 RBAC_DB_DSN这个配置项,但视屏教学中没看到有配这个配置项。后来我在配置文件中加上这个配置项:
RBAC_DB_DSN = 'mysql://root:123456@127.0.0.1:3306/think'
还是一样返回空数组,不清楚是那里的问题?请指点?
RBAC的各个表结构是从RBAC类里拷贝过来,然后个别表加了一些自已项目中用的字段(应该没影响吧)?
最佳答案