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' => ['@'], ], ], ], ]; }