CI 묻고 답하기

제목 session bind 이벤트에대한 질문.
글쓴이 구치리 작성시각 2013/04/10 10:01:20
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13556   RSS
 CI와 여기 계신분들 번역 메뉴얼과 게시판을 이용해서 페이지를 꾸리고 있습니다.
일단 아주 감사히 잘 이용하고 있는데요.

사용자 Login 과 Logout 에 대한 로그 시스템을 구축하려
session 이 만들어지는 시점과
session 이 사라지는 시점에
로그를 쓰려 합니다

login 하는 시점에는 session->set_sesion 부분에 로그를 쓰면 되고
logout 하는 시점에는 session->sess_destory 부분에 로그를 쓰면 된다 생각하는데

그 브라우저가 닫혀도 세션이 닫히잖아요. logout 처리되고...
찾아보니 session bind 이벤트라고 하는데
ci기반으로 코딩하다보니 ci session 관련 부분에 이런게 있을법 한데..

혹시 session bind에 관련된 이벤트같은게 ci내에 있으면
좀 알려주실수 있을까요.

ci가 아니라면 다른 접근 방법이라도 좀 알 수 있었으면 좋겠습니다.
태그 session,logout
 다음글 안녕하세요. daum 메일만 좀 이상하게 전송되는데요? (1)
 이전글 이중쿼리는 어캐 하나용? (6)

댓글

변종원(웅파) / 2013/04/10 10:19:52 / 추천 0
config session 부분에 보시면 브라우저가 닫힐 때 세션을 닫게할지 선택하는 옵션이 있습니다.

그 옵션명으로 system의 세션 library에서 검색해보시면 해당 함수를 찾으실 수 있습니다.

그 함수에 로그기능을 추가하시거나 확장하여 사용하세요.
구치리 / 2013/04/10 11:17:42 / 추천 0
옵션은 sess_expire_on_close 이고..
관련 검색 함수는 _set_cookie 함수인것 같고.
그 안에서 setcookie 함수로 세션이 생성/제거 되는것 같은데요..
$expire 값을 확인하여 log를 쓰도록 하면 될것 같습니다..

감사합니다.
구치리 / 2013/04/10 11:36:11 / 추천 0
$expire값을 기준으로
구현을 일단 해놓았는데 아닌것 같습니다.

set_cookie 부분에 $expire 란은 쿠키를 생성할 때
브라우저가 닫힌 시점의 쿠키의 존속유무를 결정하는 것이지
실제로 쿠키가 소멸되었을때 구동되는 이벤트랑은 관련이 없는것 같습니다.

sess_expire_on_close 를 true로 해놓고
로그인 후 브라우저를 닫고
ci의 log 파일을 살펴보니 변동사항이 없네요.

단지 session은 만들어 놓기만 하고
ci에서는 감지를 못하는것 같기도 하고

쿠키가 소멸했을때를 감지하여 알 수 있을까요..?
변종원(웅파) / 2013/04/10 13:48:12 / 추천 0
ci 세션은 엄밀히 세션쿠키입니다.

세션아이디에 해당하는 쿠키가 생성되고 정보가 담깁니다.