제목 | 세션 공유에 대해서 여쭙니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 뫄뫄잉뿌 | 작성시각 | 2017/12/08 15:24:47 |
|
|||
http://www.codeigniter-kr.org/bbs/view/etc_qna?idx=18372&page=1&view_category=&lists_style=
현재 서브도메인과 메인도메인을 각각 다른 홈페이지로 구성하고, 이 두 도메인에서 서브도메인에 로그인한 정보를 메인도메인에서 쓰려고 합니다. 위의 링크를 참고해서 user_id를 추가시키고, ci_sessions DB를 통해서 하려고하는데 메인 도메인은 회사 메인 홈페이지, 서브 도메인은 회사의 인트라넷이라 ci_sessions의 ip_address 필드의 값이 모두 사내 IP로 같습니다. 각각의 사원들에 대해서 timestamp가 만약 같게 되어도 id 값은 다른가요? 또, user_id를 this->session->userdata('user_id')로 넣으려고 하는데, 그럼 내부적인 절차로는 로그인으로 세션을 생성 후 시스템 세션이 돌아가는건가요?
http://www.ciboard.co.kr/user_guide/kr/libraries/sessions.html 세션에 대한 설명은 아직 번역이 덜 되었나봐요 ㅜㅜ 세션 유지 시간은 근무 시간 내내 적용시켜야되서 session_expiration 은 0으로, sess_time_to_update 를 0으로 잡았는데, 이렇게 되면 한 유저가 로그인 했을 때 세션 id 값은 브라우저가 닫히기 전까지는 같은 id 가 맞는건가요? |
|||
다음글 | 이미지경로 설정 질문입니다. (5) | ||
이전글 | 이메일 보내기 메일이 안와요????? 무슨 문제인지 알... (6) | ||
변종원(웅파)
/
2017/12/08 15:46:39 /
추천
0
|
뫄뫄잉뿌
/
2017/12/11 13:41:06 /
추천
0
@변종원(웅파)님 답변 감사합니다! ci_session을 쿠키로 저장해서 공유하는건 성공했습니다. http://www.ciboard.co.kr/user_guide/kr/libraries/sessions.html 요 링크를 참고하면서 보고 있는데, 로그인 시, cookie로 ci_session값이 저장이 되는데 로그아웃때는 ci_session 쿠키값을 삭제 하지 않고 있는데 혹시 이유가 있는 건가요? 시크릿 창으로 세션, 쿠키값 보니까 처음엔 아무 것도 없다가, 로그인 하고 세션값, 쿠키 ci_session 값이 생성된 후에 로그아웃을 하면 세션은 비어있는데 ci_session 쿠키값은 기존 값 그대로 유지가 됩니다. 혹시 제가 cookie_lifetime 설정을 7200로 두어서 그럴까요.. ㅜㅜ delete_cookie('ci_session'); 이렇게 해도 계속 유지가 되는데 제가 용도를 잘못생각한건가요..? |
변종원(웅파)
/
2017/12/11 13:45:25 /
추천
0
빈 쿠키는 아무런 의미가 없죠. ^^ 세션 쿠키라는 방식이라 좀 다릅니다. 사용자정의 값(아이디, 로그인 여부 등)은 서버의 세션에 저장이 되고 쿠키가 사용자pc에 생성됩니다. 쿠키아이디가 세션의 키가 되구요. 쿠키키(세션키)만 있고 user_data는 비어 있는 세션은 빈 세션과 동일하기 때문에 있으나 없으나 똑같습니다. |
뫄뫄잉뿌
/
2017/12/11 13:56:09 /
추천
0
@변종원(웅파)님 빠른 답변 감사합니다!! 그럼 쿠키키(세션키)가 공유가 되어도 세션은 공유가 안되서 쿠키키로는 세션정보를 가져올 수 없고, 가지고 온 쿠키키로 DB에 저장되어 있는 정보를 가져와서 처리해야한다는 말씀이신거죠? 그럼 로그아웃을 했을 때 쿠키키(세션키)가 있어도 로그아웃 한 페이지에서는 세션이 비어있는 것이 맞고, 다른 공유 홈페이지에서는 로그아웃을 했다는 것을 어떻게 알아야 하나요..? |
변종원(웅파)
/
2017/12/11 14:32:14 /
추천
0
로그인 여부는 세션(db)에 데이터가 있는지 여부니까 개발자가 알수있죠.
|
뫄뫄잉뿌
/
2017/12/11 15:05:20 /
추천
0
@변종원(웅파)님 답변 감사합니다!! 로그아웃을 하면 data필드가 비어있군용 ㅎㅎ 감사합니다! |
질문을 다시 정리하셔야 할 것 같네요.
timestamp와 id는 연관이 없습니다. (서브도메인 세션 공유에서) 살아있는지 체크하고 세션을 갱신하는데 사용됩니다.
https://www.google.com/search?q=codeigniter+%EC%84%9C%EB%B8%8C%EB%8F%84%EB%A9%94%EC%9D%B8+%EC%84%B8%EC%85%98%EA%B3%B5%EC%9C%A0&oq=codeigniter+%EC%84%9C%EB%B8%8C%EB%8F%84%EB%A9%94%EC%9D%B8+%EC%84%B8%EC%85%98%EA%B3%B5%EC%9C%A0&aqs=chrome..69i57.11141j0j7&sourceid=chrome&ie=UTF-8