제목 | 세션관련 질문입니다. | ||
---|---|---|---|
글쓴이 | codeignite | 작성시각 | 2011/11/08 18:00:58 |
|
|||
안녕하세요~~ 코드이그나이터 처음 다뤄보는 초보자입니다 아래와 같이 로그인화면에서 로그인 성공했을 경우 몇가지 정보를 세션에 저장하고... login_form.php // validation check
if ($this->form_validation->run() == TRUE) {
//login check
if ($this->_db_check($username, $password)) {
//login OK
$this->session->sess_destroy();
$this->session->sess_create();
$this->session->set_userdata(array('is_login' => TRUE));
$this->session->set_userdata(array('username' => $username));
redirect('admin');
}
else {
$this->session->set_flashdata('message', 'Incorrect id/password.');
redirect('user/auth/login');
}
}
어드민 페이지에서 아래와 같은 체크를 하여 로그인 인증을 하고 있습니다. admin.php if($this->session->userdata('is_login') != TRUE) {
// 로그인페이지로 이동 redirect('login_form' ) } else { echo "Login ok"; } 현재 문제점은 로그인 성공했을경우 "Login ok" 메세지가 표시되는 경우는 파이어폭스 브라우저로 실행했을 경우이고 익스플로러나 크롬에서는 제대로 동작하지 않습니다. DB테이블(ci_sessions)을 확인하면 파이어폭스에서는 새로고침하면 session_id가 추가로 생성안되고 유지되는데 크롬이나 익스에서는 화면을 새로고침하면 session_id가 계속 새로 생성됩니다. 서버설정이나 코드이그나이터의 환경설정 등의 문제가 있는 것일까요? 조언 부탁드립니다. 참고로 현재 config.php의 세션관련 환경입니다.(세션을 DB로 운영하고 있습니다.) $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;
|
|||
다음글 | jquery 유효성검사 문의좀드립니다. (3) | ||
이전글 | 컨트롤러단에서 config.php 값 조작? (2) | ||
변종원(웅파)
/
2011/11/08 18:17:33 /
추천
0
|
codeignite
/
2011/11/09 09:20:56 /
추천
0
웅파님 답변 감사합니다.
$config['sess_match_useragent'] 을 false로 바꿔보았지만.. 파이어폭스만 세션이 유지가 되네요... |
yishero
/
2011/11/23 18:26:58 /
추천
0
저도 같은 고민을 안고 있습니다. 어서 해결이 되어야 할텐데요.
|
useragent 비교하는 것은 제대로 작동하지 않는 것 같더군요.