搜索

首页  >  问答  >  正文

php - yii2 在控制器验证权限报错

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

public function beforeAction($action) {

$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('你没有操作权限');
}

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

PHP中文网PHP中文网2817 天前346

全部回复(2)我来回复

  • 黄舟

    黄舟2017-04-10 17:42:32

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

    回复
    0
  • 高洛峰

    高洛峰2017-04-10 17:42:32

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

    回复
    0
  • 取消回复