Cakephp CakeDc/用户如何使用权限?

Cakephp CakeDc/用户如何使用权限?,cakephp,cakephp-3.0,cakedc,Cakephp,Cakephp 3.0,Cakedc,我安装了 运行迁移,创建超级用户,将users.php复制到config/目录 现在在我的网站上,所有页面都被重定向到登录页面。我不能改变这件事,因为我不太了解权限是如何工作的。 我的需要是允许站点上的所有页面,并且仅阻止一个页面的访问,其中包含用户loggedin的个人数据 欢迎任何帮助、建议阅读、示例,非常感谢 您需要允许您的AppController的beforeFilter中的所有操作 public function beforeFilter(Event $event) { $t

我安装了 运行迁移,创建超级用户,将users.php复制到config/目录

现在在我的网站上,所有页面都被重定向到登录页面。我不能改变这件事,因为我不太了解权限是如何工作的。

我的需要是允许站点上的所有页面,并且仅阻止一个页面的访问,其中包含用户loggedin的个人数据


欢迎任何帮助、建议阅读、示例,非常感谢

您需要允许您的
AppController
beforeFilter
中的所有操作

public function beforeFilter(Event $event)
{
    $this->Auth->allow();
}

然后,您需要在具有该操作的控制器的
beforeFilter
中拒绝需要身份验证的操作

public function beforeFilter(Event $event)
{
    // Where `loggedInAction` is the name of the
    // action that requires authentication 
    $this->Auth->deny('loggedInAction');
}

请参见

也许您必须在控制器中对cakephp3.x使用此方法:

 public function initialize()
 {
    $this->Auth->allow('youraction'); // this action will plublic. Not under auth control.
 }
希望此链接可以帮助您:

谢谢,是的,这会起作用,但我不理解
permissions.php
配置文件的用途,我可以从中配置所有权限吗?是的,这正是我的想法。如果您正在使用此处所述的Rbac身份验证,则可以在此对话框中指定所有应用程序权限file@steinkel谢谢,但我不能让它工作,我写的规则不工作,有一个表格解释事情吗?未登录的用户是否为“来宾”?如果我想在PagesController上允许all to all并只阻止一个操作,我该怎么做?你们在谈论不同的事情。如果您希望允许用户执行所有操作,以便他们无需登录即可访问您的应用程序,并且只保护pages控制器,请在PagesController而不是AppController中加载该组件。并使用
$this->Auth->allow([…操作名称])将PagesController中的其余操作指定为允许的操作如果您只打算在一个操作中使用auth,@steinkel所说的最有意义。