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
ツイート