cakephp2.x Auth 自動ログイン

2013年4月7日更新 view: 1990 view
photoBy: http://wood-depot.com/images/4040tudo.jpg
スポンサードリンク

Cookie を使って自動ログインさせよう

所要時間たったの3分。

条件

  • Cookieコンポーネントを読み込んである
  • Authの設定をしてある

ログイン成功直後にCookieに保存

ログイン成功したらクッキーを保存しましょう

UsersController.php

function login()
{
    if($this->request->is('post')) {
        if($this->Auth->login()) {
            //クッキー保存
            $this->Cookie->write('Auth.User', $this->request->data['User'], false, '+4 weeks');
        } else {
            //NG
            $this->Session->setFlash('ログインできません');
        }
    }
}

ログアウトしたCookie削除

ログアウトしても自動ログインしたらいやらしいので、ちゃんとクッキーを消す。

UsersController.php

function logout()
{
    $this->Cookie->delete('Auth.User');
    $this->redirect($this->Auth->logout());
    $this->autoRender = false;
}

クッキーがあったら自動ログイン

もしログインしてなくて、クッキーがあれば自動でログインします。

AppController.php

function beforeFilter()
{    
    //自動ログイン
    if(!$this->Auth->user()){
        if($this->Cookie->read('Auth.User')){
            if($this->Auth->login($this->Cookie->read('Auth.User'))){    
            }
        }    
    }    
}

たったこれだけで自動ログインが完成です。

スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

9月21日 ( 木 ) にアクセスが多かった記事はこちら!