我正在尝试设置我的会话,因此它将存储在数据库中,现在它就是这样但每次我尝试登录时我都会不断生成新会话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,
),
);
我在auth配置中更改了这一行:
'session_type' => Session::$default,
要:
'session_type' => 'database',
答案 0 :(得分:0)
您还需要设置Cookie配置。
确保您的Cookie域名正确无误,这可能是您在登录后将其抛弃的原因。
答案 1 :(得分:0)
尝试在'bootstrap.php'中添加此内容
Cookie::$salt = '021004042012';
字符串是随机密钥。
答案 2 :(得分:0)
1)编写会话时发生的所有错误均记录,但未显示。
2)在Kohana 3中,你需要指定Cookie :: $ salt才能使用任何会话(原生的)。
(从Kohana 2升级时,搜索这两个事实对我来说是一个难题)