Некоторые браузеры не могут войти с Tank Auth - PullRequest
0 голосов
/ 09 декабря 2011

Я использую 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.php

$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');

}

Ответы [ 2 ]

4 голосов
/ 10 декабря 2011

Я видел проблемы с этим раньше, когда он работает только в некоторых браузерах.Я не могу найти ссылку, но я где-то читал, что это размер varchar useragent в БД, который вызывает проблему.Решением было увеличить его.

Может быть, это поможет

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

2 голосов
/ 26 сентября 2012

Еще одна оговорка - разница во времени между сервером и клиентом. Либо синхронизируйте время между сервером и клиентом, либо установите флажок «запомнить меня»

...