やり方
CWebUser を継承した WebUser クラスを protected/components 下に作成し、afterLogin() メソッドを上書き (ファイル名、クラス名などは任意) 。 続いて protected/config/main.php を編集。 CWebUser クラスを API で見る限り、ログイン、ログアウトまわりのメソッドとして beforeLogin(), beforeLogout(), afterLogin(), afterLogout() などがあります。
もちろん、例えばコントローラなどの actionLogin() で、バリデーションが通ったあとに、afterLogin() と同じようなコードを書くこともできますが、ログイン、ログアウト周りの実装を一元管理できる利点もあり、また CWebUser クラスには他にも、さまざまな重要な役割があるので、それをまとめてひとつのクラスファイルとして扱え、かつカスタマイズできることを考えると、使わない手はないと思います。
ただ、エクステンションの yii-user などを見ていたら、このへんを一元管理しておらず、部分部分で実装しているようです (これはおそらく v.1.1.3 になる以前に yii-user が作られたことが理由かもしれませんが) 。
0 件のコメント:
コメントを投稿