yii2 [行為] behaviors 攔截器


yii2 攔截器

 

    在控制器中可以自定義對action的攔截器,攔截器需要繼承 \yii\base\ActionFilter

   參考代碼:

      

class BaseUserAuthorizeFilter extends ActionFilter
{
    public $rules = [];
    public $actions = [];

    /**
     * @param \yii\base\Action $action
     * @return bool
     */
    public function  beforeAction($action)
    {
        .....
        return true;
    }

    public function afterAction($action, $result)
    {
        
        return $result;
    }



}

控制器配置攔截器:

     其中 UserAuthorizeFilter 為自定義攔截器 。

  關鍵配置:

       only :僅對數組中action對應的請求地址有效

       except:排除掉數組中action對應的請求地址有效

 public function behaviors()
    {
        return [
            'access' => [
                'class' => UserAuthorizeFilter::className(),
               // 'only' => ['index'],
               // 'except' => ['getlist'],
                'rules' => [
                    [
                        'actions' => ['error'],
                        'allow' => true,
                    ],
                    [
                        'actions' => ['index'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
            ],
        ];
    }

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM