登录CakePHP后,URL重定向错误

时间:2014-03-18 15:48:20

标签: php cakephp redirect

我正在使用CakePHP开发一个项目,我遇到了一些问题。当未经身份验证的用户尝试访问受限页面时,会将其重定向到登录页面,这是使用Auth组件对CakePHP进行安全管理的正常行为。

但是,一旦用户登录应用程序,它就会将用户重定向到错误的URL。 I.E.应用程序将用户重定向到以下内容,而不是将用户重定向到它之前尝试访问的URL:localhost / myApplication / folder / myApplication / folder / urlUserTriedToAccess。

出于某种原因,项目的路径已经写了两次,我不知道为什么。我希望有人能给我一些可能发生的事情。非常感谢!

这是我在AppController中设置Auth组件值的代码:

public $components = array(
  'DebugKit.Toolbar',
  'Session',
  'Auth' => array(
    'loginRedirect' => array('controller' => 'users', 'action' => 'home'),
    'logoutRedirect' => array('controller' => 'users', 'action' => 'home'),
    'authError' => "Debes iniciar sesión para entrar en esta página",
    'authorize' => array('Controller') // Added this line
));

这是UsersController中Login操作中的代码:

public function login() {
    if ($this->request->is('post')) {
        if ($this->Auth->login()) {
            $this->redirect($this->Auth->redirect());
        } else {
            $this->Session->setFlash('Invalid user', 'default', array('class'=>'alert alert-error'));
        }
    }
}

1 个答案:

答案 0 :(得分:0)

登录后,您可以尝试类似下面的代码,以验证重定向是否正常工作:

$this->redirect(array('controller'=>'anyRestrictedController','action'=>'index'));

另外,尝试使用redirectUrl()而不是redirect()。