CakePHP の Auth コンポーネントを使用するログイン URL を変更する
ここで使用している CakePHP のバージョンは 1.3.3 です。 2010/8/31 21:00 追記:内容に不備があったので書き加えました。
CakePHP の Auth コンポーネントを使用するログイン URL は、デフォルトの場合だと
http://hogehoge/users/login
になっていると思います。
これを、
http://hogehoge/admin/users/login
に変更する方法。
- admin を true に。 controller や action を変更すれば任意のコントローラー名/アクション名にすることができます。 controller と action は変更しない場合でも記述してください。
// app_controller.php
class AppController extends Controller {
var $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login',
'admin' => true
)
)
);
}
- users コントローラーの login/logout をそれぞれ、admin_login/admin_logout に変更。
// controllers/users_controller.php
class UsersController extends AppController {
function admin_login() {
}
function admin_logout() {
$this->redirect($this->Auth->logout());
}
- admin ルーティングを有効にする。
// config/core.php
// コメントアウトを外す
Configure::write('Routing.prefixes', array('admin'));
- ビューのログインフォームを views/users/admin_login.ctp というファイル名で作成。
これで http://hogehoge/admin/users/login という URL でログイン画面が表示されるようになるはずです。
logout を変更したい場合は好きなアクション名にして
function signout() {
$this->redirect($this->Auth->logout());
}
みたいに $this->Auth-logout()
にリダイレクトさせるだけですね。
参考: Setting Auth Component Variables :: Authentication :: Core Components :: The Manual :: 1.3 Collection :: The Cookbook http://book.cakephp.org/view/1251/Setting-Auth-Component-Variables
The Cookbook は日本語版と英語版で差がありますね... 仕方がないか...
新しい投稿
サイクリングシューズのクリートを交換した古い投稿
自転車、直りました