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,
    ),
);

我已经在我的身份验证配置中更改了这一行:

'session_type' => Session::$default,

至:

'session_type' => 'database',
4

3 回答 3

0

您还需要设置 cookie 配置。

确保您的 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 才能使用任何会话(也可以使用本机会话)。

(从 Kohana 2 升级时,搜索这两个事实对我来说是一个难题)

于 2012-06-10T22:25:41.403 回答