當訪問控制過濾(ACF)進行授權檢查時,它會從上到下地一個接着一個地測試那些規則直至找到一個相符的。
相符的允許值將立即用於判斷用戶是否被授權。如果沒有一個規則符合,
這就意味着這個用戶“沒有”被授權,訪問控制過濾(ACF)將阻止它進一步的動作請求。
public function behaviors() {
return [
'access' => [
'class' => AccessControl::className(),
'except' => ['index'], //不做驗證的action
'rules' => [ //具體規則
[
//action爲空,則適用與所有action(except中的除外)
'allow' => true,
'roles' => ['@'],
],
],
],
];
}
public function behaviors() {
return [
'access' => [
'class' => AccessControl::className(),
'only' => ['login','logout'], //需驗證的action
'rules' => [ //具體規則
[ // login,signup遊客狀態可訪問
'actions' => ['login','signup'],
'allow' => true,
'roles' => ['?'],
],
[ //update,delete登錄狀態可訪問
'actions' => ['update','delete'],
'allow' => true,
'roles' => ['@'],
],
],
],
];
}