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