Auth 拒绝在 CakePHP 3 中不工作

Auth deny not working in CakePHP 3

我正在使用 CakePHP 3.4。

我想将某些操作限制为非管理员用户。

这是我在我的控制器中尝试过的

public function beforeFilter(Event $event)
{
    if (!$this->Auth->user('super_admin')) {
        $this->Auth->deny(['index', 'view', 'add', 'delete']);
    }
}

但即使是非管理员用户也可以访问被拒绝的位置。我尝试在 if 语句中打印调试并且它正在工作,这意味着正在调用 if 语句但 deny() 不工作。

如果这不是 app.php 文件,也许您需要 parent::beforeFilter($event);

或者您可以试试这个:

if((!$this->Auth->user('super_admin')) && ($this->request->action === 'index')){
            //Your redirect and flash
        }