[Codeigniter-users] NG Session

Back to archive index

kunitsuji tsuji****@m-s*****
2008年 8月 21日 (木) 18:42:19 JST


 kunitsujiです。

simpleloginを入れてすぐうごかなかったので
独自実装してしまいました。。^^;



>微妙に違う件ですが。。。
>
>On Thu, 21 Aug 2008 12:12:44 +0900
>"Takeshi Amano" <p****@takes*****> wrote:
>
>> 天野です
>> 
>> > ちょっと気になったんですが、
>> > セッションが切れた後にセッション変数がとれるというのはどうなんでしょう?
>> 
>> まぁそうなんんですが、CIのデフォルトではcookieに入れているので同じ
>> セッションの挙動のはずですよね?
>
>Simpleloginを改造する過程で気づきましたが、CIのデフォルトのsessionはバグ
>があるようです(?)
>
>あるいはSimpeloginの実装の方が間違っているのかもしれませんが、
>Simpleloginのloginメソッドにおいて、すでにログイン中かをチェックしていま
>す。
>
>        //Check if already logged in
>        if($this->CI->session->userdata('username') == $user) {
>            //User is already logged in.
>            return false;
>        }
>
>ところが、サンプルプログラムを作成してみるとログアウトしてもログイン中と
>いう動作をするため、調べると実際には上記のuserdataに値(username)が残って
>います。そこで、Simpleloginのログアウト処理を調べると、
>
>    function logout() {
>        //Put here for PHP 4 users
>        $this->CI =& get_instance();        
>        //Destroy session
>        $this->CI->session->sess_destroy();
>    }
>
>このようにsess_destroyを呼んでおり、CIのsess_destroyメソッドを調べるとクッ
>キーのセットのみということがわかりました。
>
>従って、CIではなくそれを呼び出すSimpleloginのlogouメソッドに
>
>if (isset($CI->session->userdata)) $CI->session->userdata = NULL;
>
>と破壊してやったらうまくログアウトできました。皆さんのところでは
>Simpleloginはうまく動いていますか?
>
>-- 
>モカぱぱ <mocap****@pugpu*****>
>
>_______________________________________________
>Codeigniter-users mailing list
>Codei****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index