ThinkPHP中RBAC权限控制求助
这段是根据官方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('没有权限'); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
@流年 求助
问题已经解决 appName搞错了