ネイティブ セッションを使用して、Kohana 3.0 で記述されたアプリがあります。ユーザーの 1% 未満で、リダイレクト時にセッション データが失われます。
これが発生すると、ユーザーは自分のコンピューターのどのブラウザーでもログインできなくなります。ただし、別のコンピューターにログインすることはできます。それらはすべてWindows OS上にあるようですが、バージョンが異なります。
これはスタンドアロンのアプリでしたが、現在は一部のユーザー向けに別の Web サイトから (新しいウィンドウで) 起動されています。この問題を抱えているのはそれらのユーザーだけです。
問題を再現することはできず、ユーザーのコンピューターに関係があると推測しています。セッションデータを台無しにするウイルス対策ソフトウェアや何かがありますか?
私のセッション構成は次のとおりです。
'native' => array(
'name' => 'myappname',
'encrypted' => TRUE,
'lifetime' => 1209600,
),
多くのデバッグ ログを追加しました。セッション データを失ったユーザーは次のとおりです。
2013-02-04 20:09:16 --- DEBUG: EC ******* start login - IP = 67.255.224.46
2013-02-04 20:09:16 --- DEBUG: EC cgl/user - logged in = 1 - IP = 67.255.224.46
2013-02-04 20:09:16 --- DEBUG: EC cgl/user ------- before redirect - user = 5 - logged in = 1 - redirect = bookshelf - $_SESSION = id = 431a0b849f91a37d29b58a23bf130fe9 [ auth_user=>12874 ] - IP = 67.255.224.46
2013-02-04 20:09:16 --- DEBUG: bookshelf/before ~~~~~ NO USER = 0 - logged in = 0 - $_SESSION = id = d502f35a37c7af525c1bda5476c9daac [ ] - IP = 67.255.224.46
2013-02-04 20:09:17 --- ERROR: You must log in to see this page. $_SESSION = id = 66bf60812be3f6b5e3c1df42916e7f18 [ ], IP = 67.255.224.46
「リダイレクトRequest::instance()->redirect('bookshelf');
前」は私の直前です 「本棚/前」はコントローラーの before メソッドにあります。
セッション データを失っていないユーザーには、次のようなログがあります。
2013-02-04 14:17:53 --- DEBUG: EC ******* start login - IP = 98.89.106.34
2013-02-04 14:17:53 --- DEBUG: EC cgl/user - logged in = 1 - IP = 98.89.106.34
2013-02-04 14:17:53 --- DEBUG: EC cgl/user ------- before redirect - user = 5 - logged in = 1 - redirect = bookshelf - $_SESSION = id = 227e70d49c796ce03dc9f52d8a7b571e [ auth_user=>13246 ] - IP = 98.89.106.34
2013-02-04 14:17:53 --- DEBUG: EC bookshelf/before - logged in = 1 - $_SESSION = id = 227e70d49c796ce03dc9f52d8a7b571e [ auth_user=>13246 last_active=>1360005473 ] - IP = 98.89.106.34
2013-02-04 14:17:53 --- DEBUG: EC bookshelf/index - logged in = 1 - $_SESSION = id = 227e70d49c796ce03dc9f52d8a7b571e [ auth_user=>13246 last_active=>1360005473 school_id=> ] - IP = 98.89.106.34