私はユーザ認証のためにタンク認証を使用しています。私はセッションを保存するためにデータベースを使用しており、$this->auth->tank_auth->is_logged_in()
を使用して、ユーザーがログインしているかどうかを確認しています。auth
にtank_authが含まれているHMVCも使用されています。一部のブラウザはタンク認証でログインできません
問題:ブラウザによっては、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');
}
それぞれの開発ツール拡張を使用し、セッションCookieをデバッグしてください。 – mario
ログインできなかったChromeにはCookieが保存されていないようです。 Chrome上で正常にログインしたCookieが表示されます。クッキーの傾きがChromeで設定されていないようです。 Chromeで他のウェブサイトのCookieが表示され、正常にログインできませんでした。 – Nyxynyx
ブラウザの設定をご覧ください。 – mario