約 200 人のユーザーで codeigniter を使用する Web アプリケーションを使用しています。約 100 人のユーザーが同時にシステムにログインすると、ユーザーが自動的にログアウトするか、事前にログアウトをクリックせずにログイン ページにリダイレクトすることがあります。
私のコード。
Login Helper (Construst にロードしてログインの有無を確認)
function is_logged_in()
{
//Get Codeigniter Instance
$obj =& get_instance();
$is_logged_in = $obj->session->userdata('LOGGED_IN');
if(!isset($is_logged_in) || $is_logged_in != true)
{
$obj->session->set_flashdata('message','<div class="error_login"><b>ERROR:</b> Silahkan login terlebih dahulu.</div>');
//If no session, redirect to login page
redirect('login', 'refresh');
}
}
コントローラ。
public function verify()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
//Query the database
$row = $this->Loginmodel->verify($username,$password);
if (count($row)) {
$dataSession = array(
'userid' => $row->userid,
'role' => $row->role,
'prov_cd' => $row->prov_cd,
'kab_cd' => $row->kab_cd,
'LOGGED_IN'=> true,
'MODAL'=> true
);
$this->session->set_userdata($dataSession);
redirect('dashboard','refresh');
}
else
{
$this->session->set_flashdata('message','<div class="error_login"><b>ERROR:</b> Username atau password salah.</div>');
redirect('login','refresh');
}
}
セッションデータに多くのパラメータを格納しているからだと思います。ありがとう。