没有记住Ion AUTH登录的CodeIgniter

时间:2016-03-08 09:15:07

标签: php codeigniter session ion

我正在使用ION auth插件处理CodeIgniter登录。我不知道为什么,但我有这种行为: 我填写登录表单,发送,用户匹配,CI将此数据保存到" user_data" default_ci_sessions 表中的列,我重新加载页面,用户仍未登录,并且在表格中 default_ci_sessions 创建了一个空行" user_data"柱。 你知道吗,哪里可能有问题? 这是我的会话配置:

$config['sess_cookie_name']     = 'pyrocms' . (ENVIRONMENT !== 'production' ? '_' . ENVIRONMENT : '');
$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
// don't change anything but the 'ci_sessions' part of this. The MSM depends on the 'default_' prefix
$config['sess_table_name']      = 'default_ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

解决。我需要为此设置cookie设置:

$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
$config['cookie_path']      = "";

1 个答案:

答案 0 :(得分:-1)

我可以看到你自己回答了这个问题,但是要添加一个解决方案,以便更容易找到具有相同问题的其他人,我在这里添加了一些解释,为什么它是解决方案。

您的完整代码:

$config['sess_cookie_name']     = 'pyrocms' . (ENVIRONMENT !== 'production' ? '_' . ENVIRONMENT : '');
$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'default_ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

//Added code to fix issue 
$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
$config['cookie_path']      = "/";
  • $config['cookie_prefix']如果您需要避免,请设置前缀 碰撞
  • $config['cookie_domain'];设置为.your-domain.com 站点范围的cookie
  • $config['cookie_path'];通常会是一个 正斜杠

将每个设置等于“”几乎可以确保为整个域设置cookie。

相关问题