1

データベースに保存されるようにセッションを設定しようとしていますが、ログインしようとするたびに、新しいセッションIDを生成し、新しいレコードを挿入し続けます。これは、セッションを変更した後の最大の問題です。nativeから私のログインへのドライバーdatabaseは機能しません、それはユーザーにログインしますが、ページの更新直後にそれはログアウトされます、ここで私の設定:

return array(
    'native' => array(
        'name' => 'session_native',
        'lifetime' => 43200,
    ),
    'cookie' => array(
        'name' => 'session_cookie',
        'encrypted' => TRUE,
        'lifetime' => 43200,
    ),
    'database' => array(
        'name' => 'session_database',
        'encrypted' => TRUE,
        'lifetime' => 43200,
        'group' => 'default',
        'table' => 'sessions',
        'columns' => array(
            'session_id'  => 'session_id',
            'last_active' => 'last_active',
            'contents'    => 'contents'
        ),
        'gc' => 500,
    ),
);

authconfigのこの行を次のように変更しました。

'session_type' => Session::$default,

に:

'session_type' => 'database',
4

3 に答える 3

0

また、Cookieの構成を設定する必要があります。

あなたのクッキードメインが正しいことを確認してください、それはおそらくログイン後にあなたを捨てる原因です。

于 2012-01-29T16:51:13.540 に答える
0

これを「bootstrap.php」に追加してみてください

Cookie::$salt = '021004042012';

文字列はランダムキーです。

于 2012-04-20T00:56:29.580 に答える
0

1)セッションの書き込み中に発生したすべてのエラーはログに記録されますが、表示されません。
2)Kohana 3では、セッションを使用するためにCookie :: $ saltを指定する必要があります(ネイティブも同様)。

(これらの2つの事実の検索は、コハナ2からアップグレードする際の私にとってはかなりのパズルでした)

于 2012-06-10T22:25:41.403 に答える