权限校验部分
新建CommonAction类文件,写入以下代码
<?php
class CommonAction extends Action{
//初始化方法,调用方法时会先执行
function _initialize(){
header('Content-Type:text/html;charset=utf-8');
import('ORG.Util.Cookie');
// 用户权限检查
if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
import('ORG.Util.RBAC');
if (!RBAC::AccessDecision()) {
//检查认证识别号
if (!$_SESSION [C('USER_AUTH_KEY')]) {
//跳转到认证网关
redirect(PHP_FILE . C('USER_AUTH_GATEWAY'));
}else{
echo L('_VALID_ACCESS_');
exit();
}
// 没有权限 抛出错误
if (C('RBAC_ERROR_PAGE')) {
// 定义权限错误页面
redirect(C('RBAC_ERROR_PAGE'));
} else {
if (C('GUEST_AUTH_ON')) {
$this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY'));
}
// 提示错误信息
$this->error(L('_VALID_ACCESS_'));
}
}
}
}
到此RBAC权限判断就基本完成,是不是没有想象中那么难?如果看完这几篇文章还是不明白,欢迎加我QQ544828662咨询。