簡體   English   中英

Yii2 AccessControl-拒絕訪問的奇怪行為

[英]Yii2 AccessControl - Strange behavior for deny access

我想拒絕某些角色對控制器的訪問。

所以我寫了規則:

'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                  //  'actions' => null,
                    'allow' => false,
                    'roles' => ['designer'],
                ],
              ],
           ],

盡管我的角色是admin ,但它拋出403。

當然,我可以寫相反的東西:

'allow' => true,
'roles' => ['admin', 'seller'],

但我想了解為什么第一種情況不起作用。

我從文檔中推斷出,當您使用AccessControl ,所有當前規則都是按順序評估的。 觸發與請求匹配的第一條規則,並確定發生了什么。 最后,如果未觸發任何規則,則默認情況下將拒絕該請求。 因此,如果您只想限制1個角色並接受其他所有角色,則應在deny規則之后添加一個無條件的allow規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM