CakePHP ログアウト後の表示を分ける


CakePHP 1.2 で、ログアウト後の表示を分けたい場合の処理方法が分からなくて戸惑ったのでメモ。

通常はログアウト後にトップに戻るようにするので、

$this->Auth->userModelに指定したモデルのコントローラー(通常はusers_controller.php)で

function logout() {
	$this->Auth->logout();
	$this->redirect("/");
}

それ以外のページに飛ばしたい場合は、
app_controller.phpのbeforeFilterに設定。

飛ばしたいページが/pages/example/の場合、

//該当する条件分岐内で
$this->Auth->logout();
$this->redirect('/pages/example/');

で良いみたいです。

… 公式サイトとか検索でもlogoutRedirectがどうのこうのとしか見当たらなくてかなり右往左往したので、こんなにシンプルで良いのか不安になる。


この記事を書いた人