0

我正在使用 CakePHP 3.4。

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

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

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

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

4

1 回答 1

0

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

或者你可以试试这个:

if((!$this->Auth->user('super_admin')) && ($this->request->action === 'index')){
            //Your redirect and flash
        }
于 2017-11-23T10:43:37.980 回答