Rails Sessions через серверы

Я хотел бы иметь несколько приложений rails на разных серверах, использующих один и тот же сеанс. Я могу сделать это на одном и том же сервере, но не знаю, возможно ли обмениваться данными между разными серверами. Кто-нибудь уже сделал или знает, как это сделать?

Спасибо

4 ответа

Решение

В зависимости от того, как настроено ваше приложение, вы можете легко обмениваться файлами cookie с сайтов в одном домене (foo.domain, bar.domain, domain), настроив свои приложения на использование одного и того же секрета: http: //www.russellquinn. ком / 2008/01/30 / многоразовые рельсы-приложение /

Теперь, если у вас есть разрозненные сайты, такие как sdfsf.com, dsfsadfsdafdsaf.com и т. Д., Вам придется делать гораздо больше трюков, потому что сама природа файлов cookie ограничивает их для конкретного домена. По сути, вы пытаетесь использовать межсайтовый скриптинг, чтобы вместо того, чтобы перехватывать ваш сеанс, читать его из других.

В этом случае, используя один и тот же секретный файл cookie и т. Д., А затем некоторые межсайтовые сценарии, вы можете вручную извлечь информацию о сеансе и заново создать ее на каждом сайте (или, если вы используете сеанс ActiveRecord {или каталог сеанса NFS}, ссылка с существующим). Это не легко, но это может быть сделано.

Или же не требующий высоких технологий способ (который я делал ранее) - просто перейти на страницу входа на специально созданную страницу входа на каждом сайте, которая устанавливает для него файл cookie приложения и перенаправляет вас на следующий. Это не красиво.

Используйте хранилище базы данных. Суть в том, что это:

Чтобы сгенерировать таблицу, в консоли запустите

rake db:sessions:create

в вашем environment.rb, включите эту строку

config.action_controller.session_store = :active_record_store

Попробуйте использовать сеансы, поддерживаемые базой данных.

В Rails 2.0 теперь есть CookieStore, в котором все данные сеанса хранятся в зашифрованном cookie на компьютере клиента.

http://izumi.plan99.net/blog/index.php/2007/11/25/rails-20-cookie-session-store-and-security/

Другие вопросы по тегам