搜索
系统检测到您的用户名不符合规范:

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('没有权限');

}
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
liuxgnu
积分:397 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /