【问题标题】:Yii2 access controll rule doesn't deny guestsYii2 访问控制规则不拒绝访客
【发布时间】:2015-05-18 09:10:38
【问题描述】:

这是我用于允许经过身份验证的用户执行某些操作的代码

        'access' => [
            'class' => AccessControl::className(),
            'only' => ['logout', 'signup'],
            'rules' => [
                [
                    'actions' => ['show'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
                [
                    'actions' => ['create', 'edit'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],

但此规则允许客人进入创建操作。 Afaik,默认情况下必须拒绝来宾用户。我做错了什么?

【问题讨论】:

    标签: php frameworks yii2 access-control


    【解决方案1】:

    将您的代码修改为:

     'access' => [
                'class' => AccessControl::className(),
                'only' => ['logout', 'signup', 'create', 'edit'],
                'rules' => [
                    [
                        'actions' => ['show'],
                        'allow' => true,
                        'roles' => ['?'],
                    ],
                    [
                        'actions' => ['create', 'edit'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
            ],
    

    只有数组应包含此过滤器应应用到的操作 ID 列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2013-09-30
      • 2018-06-14
      相关资源
      最近更新 更多