CakePHPのAuthコンポーネントで、
ログイン後に指定したページを表示させるには
$this->Auth->loginRedirect = '表示させたいページ'
としたのだけど、セッションタイムアウトなどで
自動的にログインページに遷移してしまった場合には
どうも元のページに戻ろうとしてしまっていた。
(つねにログイン後のページは固定したかった。)
あまり時間が取れなかったので
さっとAuthコンポーネントのソースを開いてみた。
で、ログイン用のコントローラのbeforeFilter()で
$login_redirect = '表示させたいページ'; $this->Auth->loginRedirect = $login_redirect; $auth_redirect = $this->Session->read('Auth.redirect'); if (!empty($auth_redirect) && $auth_redirect != $login_redirect) $this->Session->write('Auth.redirect', $login_redirect);
こうしてみるとうまくいった。
0 件のコメント:
コメントを投稿