2011-09-25 133 views
0

我有一个cakephp应用程序,当我注销时添加的管理员/登录ti登录屏幕的网址。然后,当我再次登录时,表示缺少控制器。我已经有一个重定向到Auth注销。如果我改变它,它仍然会注销?cakephp注销重定向

原始登录网址:

mydomain.com/res/admin

地址后注销

mydomain.com/res/admin/users/login

在我登录到管理员后:

mydomain.com/res/admin/admin/login

用户控制器:

function admin_logout() { 
    $this->redirect($this->Auth->logout()); 
} 
+0

什么是您的身份验证设置? –

+0

根据我的理解,您可以使用beforeFilter()在控制器中设置自定义身份验证设置。我有\t \t $ this-> Auth-> allowedActions = array('admin_login','admin_logout'); 还有其他设置吗? –

+0

请提供Auth组件的相关配置和路由。 – Ivo

回答

0

我解决了这个通过将注销重定向在beforefilter。

1

在AppController中,你可以做这样的事情

public $components = array(
     'Session', 
     'Auth' => array(
     'loginRedirect' => array('controller' => 'posts', 'action' => 'index'), 
     'logoutRedirect' => array('controller' => 'users', 'action' => 'login', 'login'),//redirect url 
     'authorize' => array('Controller') 
    ) 

);

和UserController的

public function logout() { 
     $this->redirect($this->Auth->logout()); 

}

这为我工作。