Category Archives: CakePHP

CakePHP 1.3 で認証付きのトップページを作成する

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

 

ツイートツイート