Как настроить Zend_Auth для поддержки нескольких поддоменов? - PullRequest
0 голосов
/ 22 апреля 2009

У меня есть два приложения, которые оба запускают отдельный экземпляр приложения Zend Framework MVC. Они размещены на разных поддоменах:

news.mydomain.com
member.mydomain.com

Я использую Zend_Auth на member.mydomain.com для обработки аутентификации.

Как настроить ZF на news.mydomain.com для захвата информации об аутентификации, назначенной в member.mydomain.com?

Я знаю, что мы можем настроить параметр cookie для домена, но где / как мне это сделать в Zend_Auth?

спасибо!

Ответы [ 2 ]

3 голосов
/ 22 апреля 2009

Вы должны быть в состоянии сделать это, если вы установите для пространства имен Zend_Session одинаковое пространство имен в обоих приложениях. Я полагаю, что вы устанавливаете его, когда создаете его в первый раз, например:

$sess = new Zend_Session("Mynamespace");

Пока оба приложения выполняются на одном компьютере или у вас происходят межсистемные сеансы (например, memcached на нескольких машинах), они оба должны иметь возможность доступа к одним и тем же переменным сеанса.

Если вы найдете, где вы устанавливаете домен, попробуйте установить его на:

.mydomain.com

вместо

mydomain.com

Я помню некоторую странность, которая произошла с несколькими поддоменами в моей установке, и это, казалось, исправило это.

Редактировать: Я нашел, где вы устанавливаете домен для сеанса пользователя - как ни странно, он находится в Zend_Session.

Параметры конфигурации Zend_Session

0 голосов
/ 13 января 2010

Так же, как быстрое обновление ответа Бретта Бендера. Чтобы заставить это работать, я в настоящее время просто использую:

Zend_Session::setOptions(array(
    'cookie_domain' => '.mydomain.com',
    'name' => 'MySessionNamespace',
));

У меня есть этот набор в моей начальной загрузке, но его можно вызвать где угодно до начала сеанса.

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