CakePHP Auth コンポーネント活用してみる

2010年 04月 13日

    今回はAuthコンポーネントlogin()を使ってusernameをindex()に渡す方法

    25,26行目に注目。
    $this->set();で格納してるのがview用、
    変数に格納しているのがコントローラーの関数用

    <?php
    class UsersController extends Controller
    {
    	var $name = 'Users';
    	var $uses = 'User';
    	var $components = array('Auth');
    	var $helpers = array('Html','Form','Javascript');
    	var $layoyt = 'default';
    	var $elements = array('header', 'footer');
    
    	function beforeFilter(){
    		parent::beforeFilter();
    		$this->Auth->allow('register');
    
    		$this->Auth->loginAction = '/users/login';
    		$this->Auth->userScope = array('status' => 0, 'valid' => 0);
    		$this->Auth->loginError = 'ユーザーIDまたは、パスワードが正しくありません。';
    		$this->Auth->authError = 'アクセス権限がありません。';
    
    		$this->set('userinfo', $this->Auth->user());
    	}
    
    	function index(){
    		$this->pageTitle = "ぷろじぇくと";
    		$this->set('userinfo', $this->Auth->user());  //view用
    		$userinfo = $this->Auth->user();  //コントローラー用
    
    		$data = $userinfo['User']['username'];
    		$cond = array('username' => $data);
    		$this->set('data', $this->User->find($cond));
    	}
    
    	function login(){
    
    	}
    
    	function logout(){
    		$this->redirect($this->Auth->logout());
    	}
    }
    

    微妙な違いに戸惑った・・・
    (つд・)ウエーン

    ★☆★☆★☆ ナウでヤングなレンタルサーバー!ロリポップ! ☆★☆★☆★
    月額105円~容量最大30GB!WordpressやMovable Typeの簡単インストール付★

    Post a Comment