CakePHP 2:使用Auth重定向循环

时间:2012-07-16 02:34:33

标签: cakephp authentication redirect acl

我收到了一个重定向循环错误,对于我的生活,我无法弄清楚如何或为什么。以下是我的设置:

路由器

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));

AppController的

class AppController extends Controller {
    public $components = array(
        'DebugKit.Toolbar',
        'Acl',
        'Auth' => array(
            'authorize' => array('Actions' => array('actionPath' => 'controllers')),
            'loginAction' => array('controller' => 'users', 'action' => 'login'),
            'loginRedirect' => array('controller' => 'users', 'action' => 'index'),
            'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home')
        ),
        'Session'
    );
    var $helpers = array('Html', 'Form', 'Session');

    public function isAuthorized($user){
        return true;
    }

    function beforeFilter() {
    }
}

1 个答案:

答案 0 :(得分:2)

这可能是因为您没有将display()方法设置为public。这就是为什么它可能会重定向到同一页面并且该网页未经过身份验证。

因此,您可以使用以下代码将“display()方法”放在您的页面控制器中,以便公开访问:

 //Define following method in your controller PagesController.php
 function beforeFilter()
 {
      $this->Auth->allow('display');
 }

希望它对你有用。请问是否不适合你。