2011年07月13日

cakephp あったら便利な Auth 関数

お願いします♪いいねとかつぶやいたりして下さい
 
Authコンポーネントを使うとき、
「ユーザーをログインしなおしたい」

って時ありませんか?

例えばDBの内容を更新した歳に、Sessionの内容も同時に更新。

それをDBの内容を更新したら自動的にSessionの内容も更新できればいいのに・・・ナンテ。

そんな関数を作ってみました。

○Authコンポーネントの適当な行に追加
function reflesh()
{
    $this->__setDefaults();
    
    $session = $this->Session->read($this->sessionKey);
    $this->{$this->userModel} = Classregistry::init($this->userModel);
    $res = $this->{$this->userModel}->find('first',array('conditions' => array('id' => $session['id'] ,$this->fields['username'] => $session[$this->fields['username']])));
    
    unset($res[$this->userModel][$this->fields['password']]);
    $this->Session->delete($this->sessionKey);
    $this->Session->write($this->sessionKey,$res[$this->userModel]);
}


で、ユーザーがログイン中、適当なコントローラーで

$this->Auth->reflesh();


とやるとDBの最新の内容がSessionに格納される。
関連するタグ: PHP cakephp
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ