在使用AuthComponent的CakePHP 2.2上,如果用户已经过身份验证,那么将用户从“/”重定向到“/ users”的最佳方法是什么?我的所有搜索都刚刚显示了有关AuthComponent的loginRedirect和相关信息。我读了一篇详细说明改变路线的帖子(在1.x中),但我不确定这是否仍然是最好的方法。我也可以插入
if($path[0] == 'home' && $this->Session->check('Auth.User')){
$this->redirect('/users/');
}
此应用程序的索引页面只是一个要求用户注册或登录的页面,因此对已登录的成员来说并不重要。
编辑: 在重新访问beforeFilter()方法之后,我想出了
public function beforeFilter() {
$this->Auth->allow('*');
if($this->request->params['pass'][0] == 'home' && $this->Session->check('Auth.User'))
$this->redirect('/users');
}
但这似乎是静态的。
答案 0 :(得分:0)
正确的方法是从控制器的beforeFilter方法重定向用户。从.ctp文件重定向并不好。
//在PagesController.cpp中
beforeFilter() {
if($path[0] == 'home' && $this->Session->check('Auth.User')){
$this->redirect('/users/');
}
}