允许在Cakephp中使用特定页面

Amy*_*ski 5 authentication cakephp

我了解如何为未登录的用户允许某些控制器操作.但是,我找不到任何关于如何允许访问特定页面的文档.控制器是页面,并显示操作.但是,我不想让用户看到所有页面,只看到关于页面.

那么,允许访客访问某些页面但不是所有页面的正确方法是什么?

vin*_*dia 4

恐怕您无法使用AuthComponent提供的标准函数来做到这一点。您必须在pages_controllerdisplay操作中为此创建自己的逻辑。

类似于(伪代码风格)

# in app/controllers/pages_controller.php
var $allowedPages = array('one', 'two');

function display($page) {
    if(in_array($page, $allowedPages) || $this->User->loggedin) {
        $this->render($page);
    } else {
        $this->render('not_allowed');
    }
}
Run Code Online (Sandbox Code Playgroud)