0

我希望我的家(View/Pages/home.ctp)成为公共视图,因为每次我尝试访问时,都会将我重定向到 /users/login.. AppController.php:

public $components = array(
      'Session',
      'Auth' => array(
         'loginRedirect' => array('controller' => 'users', 'action' => 'areaRestrita'),
         'logoutRedirect' => array('controller' => 'users', 'action' => 'logout'),
            'authError' => 'Você deve fazer login para ter acesso a essa área!',
            'loginError'=> 'Combinação de usuário e senha errada!'
      )
    );

过滤前:

public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow( 'index' );
    }

我该怎么办?我试图在 pagesController.php 中放置一个 beforeFilter 以允许('display')但不起作用。

4

1 回答 1

1

您允许使用 Auth 的操作而不是视图。CakePHP 的默认 Pages 控制器使用相同的display()操作来呈现所有静态视图。因此,如果您只想允许主页,请对其进行单独操作并将“/”路由到该操作,或者在beforeFilter()使用$this->request->params中检查请求是否针对主页并使用$this->Auth->allow().

于 2013-11-15T12:12:55.440 回答