CI 묻고 답하기

제목 세션 공유를 할려면 어떻게 해야할까요?
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2018/01/18 13:30:31
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 14002   RSS

하나의 CI로 여러 프로그램을 관리 할려고 합니다.

 

현재 테스트를 하고 있습니다.

 

A프로그램에서 로그인을 하면 session에 사용자의 정보가 생성됩니다.

 

그리고 링크를 통해 B 프로그램으로 넘어가서 세션을 확인해보면

 

 A프로그램에서 만들었던 session 데이터가 없더라구요;;

 

그렇다보니 B프로그램에서 A프로그램으로 되돌아 가면

 

세션데이터에 사용자정보가 없다보니 에러가 출력이 되더라구요

 

A,B프로그램 모두 세션 테이블을 사용하지는 않습니다.

 

디렉토리 구조는

 

application

  A프로그램/application등 소스

  B프로그램/application등 소스

System

  A프로그램/System하위폴더

  B프로그램/System하위폴더

Aindex.php

B.index.php

 

이런구조로 되어 있습니다.

url의 경우

도메인/SH/Aindex.php - A프로그램

도메인/SH/Bindex.php - B프로그램

 

도메인은 같습니다.

 

포럼에서 검색해보아도 저와 비슷한 상황의 질문 글이 없어서 글을 올리게 되었습니다.

 

어느 부분을 수정하여야  두 프로그램간의 세션이 공유되도록 할수 있을까요??

 

 

 다음글 세션을 이용해서 관리자가 회원을 강제로 로그아웃시키는 ... (6)
 이전글 CI 3.1.6 버전에서 mysql 4.0.3 버전에 ...

댓글

변종원(웅파) / 2018/01/18 16:12:29 / 추천 0

도메인이 똑같으면 프로그램이 나뉘어 있어도 문제 될 것이 없습니다.

각자 다른 config로 세션쿠키를 만들고 있는지 확인해보세요.

정수리 / 2018/01/18 16:18:35 / 추천 0

@변종원(웅파)

답변감사합니다.

각자다른 config로 세션쿠키를 만들고 있다는게 어떤 말씀이실까요?

현재 테스트중인게  A프로그램에서 세션에 사용자의 데이터를 넣고

B프로그램에서 세션에 들어가 있는 데이터를 확인하고 있습니다.

A,B 모두 autoload를 통해 session를 읽고 있습니다.

A.프로그램의 session 설정은

$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']	= FALSE;
$config['sess_table_name']		= 'land_sessions';
$config['sess_match_ip']		= FALSE;
$config['sess_match_useragent']	= TRUE;
$config['sess_time_to_update']	= 300;

B프로그램은

$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']	= FALSE;
$config['sess_table_name']		= 'ci_sessions';
$config['sess_match_ip']		= FALSE;
$config['sess_match_useragent']	= TRUE;
$config['sess_time_to_update']	= 300;

이렇게 설정되어 있습니다.

정수리 / 2018/01/18 16:25:44 / 추천 0

@웅파(변종원)

자체 해결하였습니다 ㅎㅎ

다시 한번 메뉴얼에서 session 관련 부분을 읽는데 $config['encryption_key'] 이게 눈에 

띄어서 동일하게 해주니

세션이 공유가 되네요 ㅎㅎㅎ

어디에도 찾아보아도 

$config['encryption_key'] 이걸언급하는 내용이 없었는데 

다행히 해결하였습니다.

변종원(웅파) / 2018/01/18 16:30:03 / 추천 0
정수리/ 제 이야기가 그 이야기입니다. ㅎㅎ 양쪽이 설정이 다르니 다른세션으로 인식을 했던거죠.