yii2 在控制器驗證權限報錯

WBOY
發布: 2023-03-02 08:16:02
原創
1247 人瀏覽過

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學習者快速成長!