[英]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.