Уникальная аутентификация Symfony sfGuardUser на нескольких поддоменах

Я использую symfony 1.4.20 с плагином sfGuardUser. У меня есть несколько поддоменов, которые используют одно и то же приложение.

Один модуль приложения должен обслуживать несколько другой контент в соответствии с тем, что пользователь зарегистрирован или нет. Этот модуль должен быть доступен через субдомен, например, sub.domain.com. Прямо сейчас, если я получаю доступ к этому модулю через domain.com, это работает. Если я получаю доступ к модулям через sub.domain.com, пользователь рассматривается как не зарегистрированный, даже если он есть.

Моя догадка заключается в том, что в файле cookie auth, используемом плагином sfguad, отсутствует параметр Domain: .domain.com. Как я могу это изменить? Этот поток 3207099, кажется, указывает, что это возможно.

Благодаря!

Я нашел решение. Добавьте параметр session_cookie_domain в файл factories.yml в / apps / my_app / config, например:

storage: class: sfSessionStorage param: session_name: symfony session_cookie_domain: '.domain.localhost' 

Я запутался, потому что

  • Сначала я подумал, что это связано с файлом cookie, используемым плагином sfGuard, но настройка домена cookie сеанса достаточно для достижения того, что я хочу. Кто-нибудь может объяснить, почему?
  • Я использовал домен только для одного локального теста, и установка «.domain» не входит в домен Cookie. Похоже, это должен быть хотя бы домен и tld, например «.domain.localhost».