Yii 하위 도메인에서 drupal 사용자 세션 가져 오기

RashFlash

두 개의 사이트가 있는데, 하나는 부모 사이트 www.example.com (drupal에서 개발 됨)이고 다른 사이트는 하위 도메인입니다. app.example.com (Yii에 있음) 이제 사용자가 drupal 사이트를 사용하여 로그인하고 한 번 로그인하고 app.example.com을 방문 할 수 있습니다. yii에 사용자 세부 정보가 필요합니다.

현재 Yii :: app ()-> user-> isDrupalAuthenticated ()는 사용자가 로그인 한 경우에도 항상 false를 반환합니다.

* 하위 도메인을 만들기 전에 잘 작동하는 www.example.com/app을 사용하여 yii 사이트에 액세스했습니다. 하지만 이제 그 생성 문제

이 코드는 yii :-

class LoginController extends Controller {
    public $defaultAction = 'initialize';

    public function actionInitialize() {
                   $this->verifyDrupalUserIdentity();
    }

    private function verifyDrupalUserIdentity() {
                    new DrupalUserIdentity();
                    if (!Yii::app()->user->isDrupalAuthenticated()) {// check if user logged in
                              header('refresh:5;url=http://www.example.com');
                              Yii::app()->end();
                              exit;
                    }
          }

}



define('DRUPAL_ROOT', '/var/www/example');
define('BASE_URL', 'http://www.example.com/');

class DrupalUserIdentity extends CUserIdentity {
          /**
           * Overriding the default constructor inherited from CUserIdentity
           */
          public function __construct() {
                    $this->authenticate();
          }        
          public function authenticate() {

                    global $base_url;
                    $base_url = BASE_URL';
                    $currentPath = getcwd();
                    require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
                    require_once DRUPAL_ROOT . '/includes/errors.inc';
                    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
                    chdir($currentPath);

                    global $user;
                    $this->username = $user->name;
                    $this->_id = $user->uid;
                    new DrupalUser();
                    Yii::app()->user->setDrupalAttributes($user);
          }



}


class DrupalUser extends CWebUser {

          private $_attributes;

          public function setDrupalAttributes($attributes) {
                    $this->_attributes = $attributes;
          }


          public function getDrupalAttribute($att) {
                    if ($this->_attributes->$att) {
                              return $this->_attributes->$att;
                    }
          }


          public function isDrupalAuthenticated() {
                    if ($this->_attributes->uid > 0) {
                              return true;
                    }else
                              return false;
          }

      public function getId() {
                    return $this->_attributes->uid;
          }
}
RashFlash

좋아, 드루팔 설정 파일에서 라인을 활성화하여이 문제를 해결했습니다.

$cookie_domain = '.example.com'; 

이제 내 yii 도메인에서 drupal 세션에 액세스 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

세션 Codeigniter에서 사용자 데이터 가져 오기

분류에서Dev

세션 사용자 이름을 사용하여 mysql에서 데이터 가져 오기

분류에서Dev

세션 및 LINQ를 사용하여 작업에서 사용자의 프로필 ID 가져 오기

분류에서Dev

yii2 애플리케이션에서 WP 로그인 사용자 가져 오기

분류에서Dev

PHP 사용자 세션을 위해 mySql 데이터베이스에서 데이터 가져 오기

분류에서Dev

프로필 섹션에 표시하기 위해 로그인 후 사용자 정보 가져 오기

분류에서Dev

Yii 현재 로그인 된 사용자 가져 오기

분류에서Dev

AEM 워크 플로우 : 권한을 확인하기 위해 개시 자의 세션 가져 오기

분류에서Dev

Swift 2 Mapkit 사용자 위치에서 도시 가져 오기

분류에서Dev

기본 도메인에서 하위 도메인 세션에 액세스

분류에서Dev

.htaccess에서 하위 도메인 가져 오기

분류에서Dev

.htaccess로 하위 도메인에서 주소 가져 오기

분류에서Dev

IP 주소로 AWS에서 하위 도메인 가져 오기

분류에서Dev

PHP를 사용하여 Geocodefarm에서 위도 가져 오기

분류에서Dev

JQuery / Ajax를 사용하여 세션 값 가져 오기

분류에서Dev

세션을 사용하여 다른 변수 가져 오기

분류에서Dev

tmux 세션의 현재 메모리 사용량 가져 오기

분류에서Dev

partitionsFor 메서드를 사용하여 kafka 0.8.0에서 생산자의 파티션 수 가져 오기

분류에서Dev

내 BaseController 생성자에서 기존 세션 가져 오기

분류에서Dev

대기 자원에서 시로 세션 가져 오기

분류에서Dev

사용자 정의 검사를 사용하기 위해 Eclipse에서 Checkstyle 플러그인 가져 오기

분류에서Dev

쿼리를 위해 세션 날짜에서 키 가져 오기

분류에서Dev

쿼리를 위해 세션 날짜에서 키 가져 오기

분류에서Dev

쿼리를 위해 세션 날짜에서 키 가져 오기

분류에서Dev

Windows에서 작동하도록 배치 모드에서 사용자 입력을위한 Linux 솔루션 가져 오기

분류에서Dev

HTML :: checkboxlist를 사용하는 yii2 index.php에서 확인 된 값 가져 오기

분류에서Dev

다른 도메인에서 사용자 세부 정보를 가져 오는 방법

분류에서Dev

Azure Active Directory를 인증 공급자로 사용하여 사용자 세부 정보 가져 오기

분류에서Dev

Grep을 사용하여 Json 값에서 하위 문자열 가져 오기

Related 관련 기사

  1. 1

    세션 Codeigniter에서 사용자 데이터 가져 오기

  2. 2

    세션 사용자 이름을 사용하여 mysql에서 데이터 가져 오기

  3. 3

    세션 및 LINQ를 사용하여 작업에서 사용자의 프로필 ID 가져 오기

  4. 4

    yii2 애플리케이션에서 WP 로그인 사용자 가져 오기

  5. 5

    PHP 사용자 세션을 위해 mySql 데이터베이스에서 데이터 가져 오기

  6. 6

    프로필 섹션에 표시하기 위해 로그인 후 사용자 정보 가져 오기

  7. 7

    Yii 현재 로그인 된 사용자 가져 오기

  8. 8

    AEM 워크 플로우 : 권한을 확인하기 위해 개시 자의 세션 가져 오기

  9. 9

    Swift 2 Mapkit 사용자 위치에서 도시 가져 오기

  10. 10

    기본 도메인에서 하위 도메인 세션에 액세스

  11. 11

    .htaccess에서 하위 도메인 가져 오기

  12. 12

    .htaccess로 하위 도메인에서 주소 가져 오기

  13. 13

    IP 주소로 AWS에서 하위 도메인 가져 오기

  14. 14

    PHP를 사용하여 Geocodefarm에서 위도 가져 오기

  15. 15

    JQuery / Ajax를 사용하여 세션 값 가져 오기

  16. 16

    세션을 사용하여 다른 변수 가져 오기

  17. 17

    tmux 세션의 현재 메모리 사용량 가져 오기

  18. 18

    partitionsFor 메서드를 사용하여 kafka 0.8.0에서 생산자의 파티션 수 가져 오기

  19. 19

    내 BaseController 생성자에서 기존 세션 가져 오기

  20. 20

    대기 자원에서 시로 세션 가져 오기

  21. 21

    사용자 정의 검사를 사용하기 위해 Eclipse에서 Checkstyle 플러그인 가져 오기

  22. 22

    쿼리를 위해 세션 날짜에서 키 가져 오기

  23. 23

    쿼리를 위해 세션 날짜에서 키 가져 오기

  24. 24

    쿼리를 위해 세션 날짜에서 키 가져 오기

  25. 25

    Windows에서 작동하도록 배치 모드에서 사용자 입력을위한 Linux 솔루션 가져 오기

  26. 26

    HTML :: checkboxlist를 사용하는 yii2 index.php에서 확인 된 값 가져 오기

  27. 27

    다른 도메인에서 사용자 세부 정보를 가져 오는 방법

  28. 28

    Azure Active Directory를 인증 공급자로 사용하여 사용자 세부 정보 가져 오기

  29. 29

    Grep을 사용하여 Json 값에서 하위 문자열 가져 오기

뜨겁다태그

보관