0
在使用AuthComponent的CakePHP 2.2上,如果用戶已經通過身份驗證,將用戶從「/」重定向到「/ users」的最佳方式是什麼?我所有的搜索都剛剛顯示了有關AuthComponent的loginRedirect和相關信息。我閱讀了一篇詳細介紹改變路線的文章(1.x版),但我不確定這是否仍然是最好的方法。我還可以插入CakePHP:如果用戶被認證,將用戶從/重定向到
if($path[0] == 'home' && $this->Session->check('Auth.User')){
$this->redirect('/users/');
}
中的PageController
::顯示(),但同樣,不知道這是最不可取的方法
此應用程序的索引頁面將簡單地要求用戶頁面註冊或登錄,因此它不太重要到已經登錄會員
編輯: 重溫beforeFilter()方法後,我想出了
public function beforeFilter() {
$this->Auth->allow('*');
if($this->request->params['pass'][0] == 'home' && $this->Session->check('Auth.User'))
$this->redirect('/users');
}
但這看起來確實是靜態的。
我修改的標題,以消除混淆;有了home.ctp,我只是簡單地暗示了根URL - 重定向實際上並不在ctp文件中。 你的方法敦促我重新審視beforeFilter,使用Session :: check而不是檢查Auth-> user,它可以工作。工作代碼粘貼在我原來的帖子上面。 – Neil
不要忘記在派生函數內調用父控制器的beforeFilter函數。 – trante