본문 바로가기

IT

xe 로그인 세션정보 cakephp와 연동

기존 xe(xpressengine)로 작업되어있는 사이트에 기능상의 이유로 몇가지 프로그램을 추가할 일이 생겼다.
cakephp로 추가 프로그램을 작성하기로 결정하고,
기존 xe가 설치되어있는 폴더에 cake폴더를 만들고 cakephp를 설치하였으나 xe로그인 세션정보가 연동되지 않아 고생했다.

외부 프로그램에서 xe로그인 정보 활용하는 방법에 대해서 여러 글을 찾아보았으나, 
require_once('../config/config.inc.php');
문장을 사용할 경우, cakephp function과 충돌! 에러가 나고 잘 연동이 되지 않았다.


그냥 같은 도메인이니까,
xe의 세션을 파일로 저장하도록 한 후, cakephp의 세션을 끄고 xe의 세션 정보를 가져와서 사용하려고 한다.


xe 로그인정보를 cakephp에서 사용하고 싶을 때 참고하시길...
------------------------------------------------------------------------------------------
1)  xe setting 에서 "인증 세션 DB 사용" 항목에 체크 해제.
(관리자 메뉴에서 저장 안되면  /files/config/db.config.php 파일에서 $db_info->use_db_session = 'N'; 으로 설정)
=> xe의 세션을 파일을 사용해서 저장하도록 한다.

2) cakephp의 세션 끄기
/cakephp/config/core.php 파일의
Configure::write('Session.start', false); 로 설정

3) cakephp에서 session_start(); 추가해주니 $_SESSION 출력성공 
------------------------------
session_start();
print_r($_SESSION);
------------------------------
출력성공!

controller 에서 $_SESSION['logged_info'] 를 활용하면 될 것 같다. 휴~~



별거 아니었는데 기본지식이 부족하니 삽질에 삽질을 거듭했다.
설정 이상한거 바꾼건 아니니까 보안상, 기능상으로 문제 없었으면 좋겠는데 ^^
내일부턴 열심히 프로그램 만들면서 하나씩 테스트 해봐야겠다~~