CakePHP 1.3 で認証付きのトップページを作る方法。
静的なページなら、コントローラやビューは不要で、/webroot に index.html として作成すれば大丈夫だが、最初にユーザ認証させたい場合は、コントローラとビューが必要となる。ただし、モデルは不要。
で、コントローラとビューの名前だが /app/config/routes.php には
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
と記述しているので、そのまま使うならば
コントローラ:pages_controller.php
ビュー:display.ctp
を作成する必要がある。
/controller/pages_controller.php
class PagesController extends AppController { public $name = 'Pages'; public $components = array('Auth'); // モデルなし var $uses = null; // 事前処理(共通) function beforeFilter() { $this->Auth->allow('map'); // 認証を除外するアクション $this->Auth->authError = '管理者権限でログインする必要があります。'; $this->set('username', $this->Auth->user('username')); // ログイン名取得 } // 認証された時の追加処理 function isAuthorized() { $this->Session->setFlash('ログインしています(ユーザ名:'.$this->Auth->user('username').')', true); // setFlash で認証メッセージにユーザ名を設定 return true; } public function display() { } }
/view/pages/display.ctp
