yii2 在控制器验证权限报错

WBOY
发布: 2023-03-02 08:16:02
原创
1246 人浏览过

rbac 权限能正常验证 但是在控制器里验证的时候 抛出异常
控制器里的代码是这样的

public function beforeAction($action) {

<code>$controller = Yii::$app->controller->id;        //获取控制器
$action = Yii::$app->controller->action->id;        //获取方法
if(Yii::$app->user->can($controller.'_'.$action)){
    return true;
}else{
    throw new \yii\web\UnauthorizedHttpException('你没有操作权限');
}</code>
登录后复制
登录后复制

}
到页面上的时候就显示这样提示没有操作权限, 数据库里添加了对应的$controller.'_'.$action的数据...........

回复内容:

rbac 权限能正常验证 但是在控制器里验证的时候 抛出异常
控制器里的代码是这样的

public function beforeAction($action) {

<code>$controller = Yii::$app->controller->id;        //获取控制器
$action = Yii::$app->controller->action->id;        //获取方法
if(Yii::$app->user->can($controller.'_'.$action)){
    return true;
}else{
    throw new \yii\web\UnauthorizedHttpException('你没有操作权限');
}</code>
登录后复制
登录后复制

}
到页面上的时候就显示这样提示没有操作权限, 数据库里添加了对应的$controller.'_'.$action的数据...........

数据里写真实的地址比如:
'/'.$controller.'/'.$action

你输出一下 $controller.'_'.$action 这个变量,我自己使用的使用在父类下面,
Yii::$app->controller->id和 Yii::$app->controller->action->id 是个null

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!