2011-12-09 11 views
0

私はユーザ認証のためにタンク認証を使用しています。私はセッションを保存するためにデータベースを使用しており、$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'); 

} 
+0

それぞれの開発ツール拡張を使用し、セッションCookieをデバッグしてください。 – mario

+0

ログインできなかったChromeにはCookieが保存されていないようです。 Chrome上で正常にログインしたCookieが表示されます。クッキーの傾きがChromeで設定されていないようです。 Chromeで他のウェブサイトのCookieが表示され、正常にログインできませんでした。 – Nyxynyx

+0

ブラウザの設定をご覧ください。 – mario

答えて

4

私はそれだけでいくつかのブラウザで動作どこの前にこれで問題を見てきました。私はリンクを見つけることができませんが、私はそれが問題を引き起こすのDBのユーザーエージェントのvarcharサイズであることをどこかに読んでいます。解決策はそれを大きくすることでした。

多分これが

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

+0

あなたはそれに投票する価値があります。あいまいな答えで質問を投稿し、あなたのような人々によって救済され、その後簡単なupvoteなしで彼らの日に移動する人には恥ずかしい。 – tpow

2

もう一つ注意すべき点を助けるには、サーバとクライアントとの間の時間差です。サーバーとクライアントの時間を同期させるか、「私を覚えています」チェックボックスをチェックしてください。

関連する問題