제목 | 외부에서 Controller 호출시 $_SESSION 유지 안되는 문제 질문 드립니다! | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | papaw | 작성시각 | 2020/02/14 16:05:43 |
|
|||
안녕하세요. 기존에 CI로 개발하고 운영중인 소스(API)를 다른 프로젝트에서 가져다 쓰려고 합니다.(외부에서 CI Controller 호출) react로 개발진행중이고 API 호출은 잘 됩니다..
그런데 로그인시 Controller에서 set_userdata를 하는데요. set 하자마자 바로 찍어보면 정상적으로 데이터가 출력이 되는데 ex) Member.php $this->session->set_userdata($login_data); print_r($this->session->userdata()); => 정상 출력.
로그인 이후에 다른 페이지에서 API 호출시 session->userdata를 확인하면 텅 비어있습니다... ex) Member.php public function is_login_chk() { print_r($this->session->userdata()); } => 내용 없음. ( 시간 뿐 )
이걸 어떻게 연결시켜야할지 하루종일 스택오버플로우며 구글이며 뒤져봐도 명확한 해결책을 찾지못해 이렇게 질문 남겨봅니다 ㅜㅜ
session은 autoload에서 로드하였으며, application/config/config.php 파일도 이래저리 수정해 봤지만.. 전부 실패했습니다..
CI 뷰 => CI 컨트롤러 호출할 때는 문제가 없었던거같은데 처음으로 외부에서 호출하다보니 미숙한 부분이 많네용..
혹시 비슷한 사례 해결한 경우가 있으시거나.. 다른 조언이라도 주실수 있으신분 계시면 감사하겠습니다! |
|||
다음글 | application 디렉토리 분리 조언 구합니다~~ (2) | ||
이전글 | 프로젝트 단위가 궁금합니다. (2) | ||
변종원(웅파)
/
2020/02/14 16:29:51 /
추천
0
쿠키 체크에 아이피 및 유저에이전트 가 true 로 되어 있으면 false로 바꾸고 해보세요.
|
papaw
/
2020/02/14 16:33:20 /
추천
0
Re: 변종원(웅파) application/config/config.php $config['sess_match_ip'] = FALSE;
이게 맞다면 두 항목은 모두 false인 상태 입니다.. |
papaw
/
2020/02/14 16:55:51 /
추천
0
$config['sess_driver'] = 'files'; $config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
현재 config는 위와 같습니다.
|
엽토군
/
2020/02/16 12:45:51 /
추천
0
로그인 자체는 어떻게 처리하고 계신가요? "외부"란 얼마나 외부인가요? (서버가 다른지? 아니면 서버는 같은데 도메인이 다른지? 아니면 서브도메인 인지?)
저희회사의 경우에는 재수가 없어서 결국 토큰 기반으로 전환했어요. 쿠키에 난수가 박혀 있고, 이 난수는 암호키만 있으면 어느서버에서나 바로 json으로 복호화되는 거지요. 리액트 도입하셨다고 하니 JWT 써보시는 것도 방법 아닐까 하네요. |
papaw
/
2020/02/16 16:43:11 /
추천
0
Re: 엽토군
CI는 서버에 올라가 있고, react는 아직 개발중이라 로컬입니다. axios를 통해서 CI Controller를 호출하고 있으며, 로그인 성공시 유저정보를 json데이터로 내려받아 사용합니다. 근데 로그인 성공시 (API 호출 후 정상 리턴 되었을 때) 쿠키정보가 생성이 안되는거같은데 이건 상관없는것인지 모르겠네요..
하.. 설명이 제대로 된건지도 모르겠네요 .. 어렵습니다..
JWT같은경우는 다른 서비스 개발시 적용했었으나 이 프로젝트는 이미 해당 API를 다른 앱, 웹에서 사용중인데다 공식적으로는 저는 CI에 관여하는게 아닌 작성된 API를 이용해 프론트앤드를 구축하는 작업을 맡고있는터라.. 섣불리 로그인 방식 자체를 변경하는것은 어렵네요.
여러모로 어렵네요.. ㅎ.ㅎ..
|