我了解如何为未登录的用户允许某些控制器操作。但是,我找不到任何关于如何允许访问特定页面的文档。控制器是页面,并显示操作。但是,我不想让用户看到所有页面,只看到关于页面。
那么,允许访客访问某些页面但不是所有页面的正确方法是什么?
答案 0 :(得分:4)
我担心你不能使用AuthComponent
给你的标准功能。您必须在pages_controller
的{{1}}操作中为此创建自己的逻辑。
类似(伪代码样式)
display
答案 1 :(得分:1)
在CakePHP 3.x中,您可以通过在PagesController
beforeFilter
操作中指定完整操作来实现目标:
public function beforeFilter(Event $event) {
parent::beforeFilter($event);
$this->Auth->allow(
['controller' => 'pages', 'action' => 'display', 'about']
);
}