0

我正在使用 Tank Auth 进行用户身份验证。我正在使用数据库来存储会话并$this->auth->tank_auth->is_logged_in()用于检查用户是否已登录。还使用了 HMVC,其中auth模块包含 tank_auth。

问题:好像有些浏览器无法成功登录网站,包括IE8、Chrome 15.0.874.121。早期版本的 Chrome 和 IE 可以登录。我做了一些重定向,发现在登录时,用户被重定向到主页,检查is_logged_in()失败并将用户重定向回登录。有谁知道这个问题?

配置文件

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

CI 控制器代码

function index() {
    $this->load->module('auth');
    if(!$this->auth->tank_auth->is_logged_in()) {
         redirect('login');
    } 

    $this->load->view('main');

}
4

2 回答 2

4

我之前看到过这个问题,它只适用于某些浏览器。我找不到链接,但我在某处读到它是导致问题的 DB 中 useragent 的 varchar 大小。解决方案是让它更大。

也许这会有所帮助

http://codeigniter.com/forums/viewthread/197101/ _

于 2011-12-09T20:33:42.603 回答
2

另一个警告是服务器和客户端之间的时间差。同步服务器和客户端之间的时间或选中“记住我”复选框

于 2012-09-26T19:39:39.197 回答