Некоторые браузеры не могут войти с Tank Auth
Я использую 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 ответа
Я видел проблемы с этим раньше, когда он работает только в некоторых браузерах. Я не могу найти ссылку, но я где-то читал, что это проблема с размером varchar useragent в БД. Решение было сделать его больше.
Может быть, это поможет
Еще одна оговорка - разница во времени между сервером и клиентом. Либо синхронизируйте время между сервером и клиентом, либо установите флажок "запомнить меня"