먼저 기본 도메인은 www.example.com 이라고 하면, 연동하려고 하는 도메인은 abc.example.com 이라는 서브도메인 입니다.

 

기존 www.example.com/tools 처럼 이용했는데요, 이를 abc.example.com으로 때어내었습니다.

아래 소스처럼하니 라이믹스와 연동은 되었습니다. 하지만 logged_info를 불러오지 못합니다..

(따로 제작한 모듈을 수정해 호출해보니 잘 작동합니다..)

 

<?php
define('__XE__', true);
require_once("/var/www/html/config/config.inc.php");
$oContext = &Context::getInstance();
$oContext->init();

$logged_info = getModel('member')->getLoggedInfo();
print_r($logged_info); //작동 안됨..

$logged_info = Context::get('logged_info');
print_r($logged_info); //마찬가지로 작동 안됨

 

연동하려는 파일이 /var/www/test/test.php 같은 경로에 있어서 상대경로보단 절대경로로 하였습니다.

물론 상대경로로 해도 안되는건 마찬가지 였습니다.. ex) [./../html/config/config.inc.php]

어떻게 해야할까요?

  • Lv9
    지금 체크해보니 또 되다가 시크릿 모드에서 하면 또 안되네요..
    캐시 삭제했더니 또 안되는..
    무슨 문제일까요?
  • Lv24
    define('__XE__', true);
    require_once('/common/autoload.php'); //Rhymix autoload 주소 때에 따라위치에 따라 다름.
    Context::getInstance()->init();

    절대 경로말고 해당 외부파일이 있는 위치에서 재대로 참조하는 방향으로 해보세요..
  • Lv24 Lv9
    define('__XE__', true);
    require_once("./../html/common/autoload.php");
    Context::getInstance()->init();

    이런식으로 참조를 해보았지만.. 작동은 안됬습니다.
    아예 안되는게 아니라, 다른 모듈들은 불러와 지는데 유일하게 logged_info만 작동하지 않는 상태입니다
  • Lv37

    기본 도메인(www)과 다른 도메인(abc)에서 불러오려고 하면 로그인이 풀려 있는 것이 정상입니다.

    외부 파일에서 불러온다고 해서 다른 도메인에 마법처럼 로그인이 되지는 않습니다.

  • Lv37 Lv9
    라이믹스에 SSO 설정이라고 되어있던것을 사용했는데도 작동이 안되는 건가요..?
    혹시 그러면 사용가능한 방법이 없을까요?
  • Lv9 Lv37

    SSO 기능은 평소에도 제대로 작동하지 않습니다ㅜㅜ 더군다나 index.php를 통해 정상적으로 들어가지 않고 외부 스크립트에서 인클루드했을 때는 거의 효과가 없을 거예요.

    동일한 도메인의 서브도메인이라면 php.ini에서 session.cookie_domain 설정을 .example.com으로 해보세요. 그러면 example.com에 소속된 서브도메인들끼리 세션을 공유할 수 있습니다. (적용 후 로그아웃했다가 다시 로그인해야 효과가 있습니다.) session.cookie_domain 관련해서 검색해 보시면 정보가 꽤 많이 나옵니다.