CI 묻고 답하기

제목 특정 사용자를 제외하고 나머지는 일정 시간 후에 자동 로그아웃 하게끔 하고 싶은데.
글쓴이 madman 작성시각 2014/03/06 17:43:36
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 14181   RSS
 안녕하세요.

codeigniter 프레임워크를 활용해 로그인과 로그아웃 부분을 확인하다가 궁금한 점이 있어 문의 드립니다.

요점을 간략히 말씀 드리자면, 특정 사용자를 제외하고 나머지 사용자는 일정 시간이 지나면 로그아웃 버튼을 클릭하지 않더라도 자동으로 로그아웃이 되도록 하는 것인데요.

 

config.php 파일에 보면 아래와 같이 session 관련하여 설정 부분이 있는데 

 

$config['sess_cookie_name']  = 'ci_session';
$config['sess_expiration']  = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name']  = 'ci_sessions';
$config['sess_match_ip']  = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 600;

 

 

제가 알기로는,

$config['sess_expiration']  = 7200;

이 부분이 세션 저장 시간으로 알고 있습니다. 2시간 가량이죠.

 

특정 사용자의 로그인 쿠키값을 기준으로 해서 예외처리를 해 일정 시간이 지나면 세션을 만료시켜 로그아웃을 시키게 하고 싶은데 어떻게 하면 좋을지 좀 막히네요. 그동안 일반적인 php 구문을 썼고 codeigniter 프레임워크는 처음인지라...

 

참고로 로그아웃 function은 아래와 같습니다.

 

 

 public function logout()
 {
  $this->db_session->sess_destroy();
  redirect(base_url('/test/'),'location',302);
  return; 
 }

 

 

고수님들의 답변 부탁 드리겠습니다.

 다음글 hooks를 이용한 레이아웃 관련 질문입니다. (3)
 이전글 $this->db->query($sql)의 ... (1)

댓글

변종원(웅파) / 2014/03/07 10:03:16 / 추천 0
사용자에 따라 config값을 다르게 주면 되겠죠. if 문 처리 또는 사용자별 config파일을 다르게 저장하고
include하여 처리하는 방법도 있습니다.

madman / 2014/03/07 15:08:45 / 추천 0
 config 파일에서 사용자값을 쿠키로 불러올 수도 있나요? 찍어보니 나오지 않던데... 
변종원(웅파) / 2014/03/07 16:14:30 / 추천 0
config파일도 파일일 뿐입니다. ci가 로딩중 읽어들여 사용하죠.
쿠키는 생성하고 바로 나오지 않습니다. 리로딩 한번 해야 나옵니다.