Совместное использование сеанса CakePHP между двумя приложениями в одном домене - PullRequest
1 голос
/ 08 июня 2010

У меня есть два приложения CakePHP, работающие на одном домене.

Они расположены в localhost:8080/wishlist и localhost:8080/lighthouse.

"Список пожеланий" и "маяк" - каждое отдельное CakePHPПриложения.

Страница входа находится на localhost:8080/lighthouse, и я хочу, чтобы сеанс, созданный приложением lighthouse, использовался в приложении списка желаний.

Структура каталога

/htdocs
    /wishlist
        /app
        /config
        ....
    /lighthouse
        /app
        /config
        ....

Я редактировал файл core.php для каждого приложения.Я использую одно и то же имя файла cookie сеанса и ту же распродажу, но не могу получить сеанс в приложении списка желаний.

Как я могу разделить сеанс между двумя моими приложениями?

Ответы [ 2 ]

1 голос
/ 08 июня 2010

Во-первых, установите Firefox , Firebug и Firecookie . Это добавит вкладку «Cookies» в Firebug, что упростит проверку ваших куки.

Файлы cookie состоят из нескольких частей: имя, значение, домен, путь, срок действия и т. Д. Вас больше всего интересует часть «пути» файла cookie, который, я полагаю,

По умолчанию CakePHP ограничивает путь каждого куки-файла до подкаталога вашего приложения. Например, когда вы посещаете /wishlist, будет создан файл cookie, но он будет ограничен подкаталогом /wishlist. Когда вы затем переходите к /lighthouse, предыдущий файл cookie не будет применяться, поэтому, если у вас нет файла cookie / сеанса, создается новый файл, ограниченный подкаталогом /lighthouse.

Вам необходимо изменить путь созданных файлов cookie на /, чтобы они сохранялись во всех подкаталогах. Это должно быть так же просто, как добавить ini_set('session.cookie_path', '/'); к обоим app/config/bootstrap.php файлам обоих приложений.

0 голосов
/ 09 июня 2010

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

...