CI 묻고 답하기

제목 조건에 따라 sess_expiration 길이 임의 조정 가능한지.
글쓴이 madman 작성시각 2014/03/07 13:50:12
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15293   RSS
 안녕하세요.

codeigniter를 활용하다가 궁금한 점이 있어 문의 드립니다.

테스트 function을 하나 만들고 아래와 같이 간단히 작성해보니 7200이라 나옵니다.

 
$ex_time = $this->session->sess_expiration;

config.php의 $config['sess_expiration']  = 7200; <- 여기서 나오는 값이죠.

 

문제는 이를 조건에 따라 조절을 하고 싶은데 어떻게 하면 좋을지 모르겠네요. config.php 파일을 수정해야 할지 아니면 function 내에서 수정해야할지...  예를 들면 A라는 사용자는 그냥 세션을 무한으로 주고 나머지는 그냥 저대로 놔두게 하고 싶은데...

 다음글 php 에서 뿌려주는 기본 구문 오류가 나오지 않습니다... (2)
 이전글 hooks를 이용한 레이아웃 관련 질문입니다. (3)

댓글

변종원(웅파) / 2014/03/07 16:23:04 / 추천 0
사용자에 따라 라는 조건에 따라 될수도 있고 안될 수도 있습니다.

특정 아이피에서 접근하는 사용자로 구분을 한다면 가능하구요.
로그인후 권한을 가지고 한다면 config로는 불가능하겠죠.

config.php

if(아이피=='특정')
{
$config['sess_expiration']  = 0;
}
else
{
$config['sess_expiration']  = 7200;
}

만약 아이디로 구분하는거라면 db세션을 사용하고 cron으로 db의 세션값을 읽어와 특정사용자일 경우 
그 세션을 삭제할 수 있습니다. 할수는 있는데 사용자가 많을수록 서버 부하가 만만치 않겠죠