尝试在CakePHP中修改用户访问权限

时间:2018-06-29 10:27:23

标签: php cakephp

我是CakePHP的新手,我不知道如何使用用户访问权限进行管理。我希望用户如果未登录,则可以访问我应用程序上的登录和注册页面以外的内容。当前,如果他未登录,则只能访问这些页面。我只想拒绝对特定页面的访问。 / p>

我使用了此功能:

public function beforeFilter(Event $event)
{
$this->Auth->allow(['Home', 'About']);
}

使用此功能,用户可以访问“主页”和“关于”(“主页”和“关于”是Templates中Pages文件夹中的.ctp文件)。但是我不知道如何允许从NewCars文件夹访问页面,这当然是在Template中。问题在于此文件夹有很多页面和子文件夹,将每个页面和子文件夹放入数组需要很多时间。 附言我要拒绝访问的页面位于另一个文件夹名称UsedCars中。

1 个答案:

答案 0 :(得分:0)

您需要在控制器的beforeFilter中使用$this->Auth->allow()方法来授予对所有操作的访问权限。

类似地,您可以使用以下方法拒绝对操作的访问。您必须在beforeFilter方法中添加它们。

// Deny all actions.
$this->Auth->deny();

// Deny one action
$this->Auth->deny('add');

// Deny a group of actions.
$this->Auth->deny(['add', 'edit']);

有关更多参考,您可以点击此链接 https://book.cakephp.org/3.0/en/controllers/components/authentication.html#authorization