欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

thinkphp教程之RBAC详解4之权限校验

程序员文章站 2024-02-18 08:13:22
...
权限校验部分
新建CommonAction类文件,写入以下代码 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咨询。

AD:真正免费,域名+虚机+企业邮箱=0元