2013-03-01 2 views
2

Я создаю приложение Rails, которое будет жить в субдомене приложения Symfony 2 (PHP). Они будут использоваться теми же типами пользователей, и поэтому мы хотим, чтобы они шли туда и обратно между приложениями и, в идеале, только один раз.Обмен сеансом между Rails и приложением Symfony?

Я видел some solutions о том, как обмениваться сеансами между субдоменами для приложений того же типа, но нет решения для обмена сеансами между Symfony и Rails. Является ли это возможным?

Я был особенно заинтригован тем, что Rails session_store может использовать бэкэнд базы данных - по умолчанию используется файл cookie. Это заставляет меня задаться вопросом, должны ли оба приложения использовать бэкэнд базы данных, смогут ли они участвовать в сеансах?

Какие еще альтернативы можно использовать для выполнения этой работы, если она может работать?

ответ

3

Конечно, это возможно, но я не знаю, сколько работы вы должны положить в;)

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

Не имеет значения, сохраните ли вы SessionId в базе данных, в файле (будет довольно медленно) или в другом месте, если оба приложения используют его.

Как вы упомянули, Rails поддерживает сеансы внутри базы данных из коробки. В Rails также есть другой способ: Memchached Storage. Это более или менее собственная база данных, которая оптимизирована для быстрого поиска по ключевым словам.

Итак, вы должны посмотреть, есть ли плагин Symfony, который поддерживает либо SessionId в базе данных, либо в хранилище Memcache.

Посмотрите здесь: http://watsonbox.github.com/blog/2012/05/01/sharing-session-between-rails-and-php/


забыл упомянуть: Оба приложения должны использовать то же имя session_id внутри печенья;)

+0

OMG! Это может быть то, что я искал! Я попробую первый шанс. – picardo

+0

Удачи. Раньше я никогда не делал ничего подобного. –

Смежные вопросы