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
}
我正在使用 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
}