Как заставить сеанс / куки работать во всех поддоменах в Yii - PullRequest
3 голосов
/ 27 сентября 2011

У меня есть несколько поддоменов, таких как «a.domain.com», «b.domain.com», но я обнаружил, что если я войду на поддомен a, сессия / cookie не будут работать в b, и мне придется снова войти в систему в "b.domain.com"

Как мне заставить сеанс входа работать во всех поддоменах?

Обновление:

Я обнаружил, что у каждого субдомена свой идентификатор сеанса ...

Обновление:

Я обнаружил, что могу войти только в несколько доменов, таких как 'bench' и 'post', но не могу войти в 'book' и другие домены. Действительно странно.

Ответы [ 2 ]

8 голосов
/ 30 сентября 2011

Вы можете установить его в файле yii config / main.php , как я. ( Я не уверен, что вам все еще нужно изменить файл php.ini, но я бы сказал «нет», потому что эта конфигурация ниже исправила мою проблему ).

защищенный / конфиг / main.php

...
'components' => array( 
    ...        
    'user'=>array(
        ...    
        'identityCookie' => array('domain' => '.mydomain.com', //note dot before domain name 
        // identityCookie same as "session->cookieParams->domain"
    ),
    'session' => array(
        'autoStart'=>true,
        'cookieParams' => array('domain' => '.mydomain.com'),
    ),
    ...
)
...
3 голосов
/ 27 сентября 2011

1001 *
*

Вы можете использовать значение PHP session.cookie_domain и установить его в свой домен верхнего уровня (.domain.com). Путем редактирования php.ini или установки с помощью ini_set ('session.cookie_domain', '.domain.com');

Удачи :)
Шай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...