Доступ к информации о сессиях рельсов по идентификатору сессии - PullRequest
0 голосов
/ 18 декабря 2009

Я использую хранилище сеансов по умолчанию на основе файлов cookie. В основном, я использую heroku, и мне нужно перейти из моего приложения: http://test1.myapp.com к heroku для одной страницы: http://myapp.heroku.com/billing - поэтому мне нужно получить доступ к сеансу, когда я иду на URL heroku , Я хотел бы получить доступ к сеансу [: user_id] на странице heroku, но когда вы переходите на страницу heroku, генерируется новый сеанс.

Я думал, что смогу передать session_id по основному URL в строке запроса, но я не знаю, как получить к нему доступ со страницы URL heroku.

Я пробовал это:

session[params[:sid]][:user_id]  

но это не работает. Можно ли получить доступ к информации о сеансе, если вы знаете идентификатор сеанса? Или есть другой способ прочитать информацию о сеансе из другого URL (но все в том же приложении rails)?

Спасибо.

1 Ответ

0 голосов
/ 25 января 2011

Чтобы это работало, вам нужно настроить свой домен в Heroku, чтобы приложение Heroku работало под тем же TLD, что и основное приложение. Для этого добавьте свой домен в приложение для выставления счетов следующим образом:

$ heroku domains:add billing.myapp.com

Обязательно следуйте инструкциям Heroku , чтобы настроить DNS.

Ваше приложение для выставления счетов будет жить по номеру http://billing.myapp.com/billing (на Heroku). Таким образом, контроллер должен иметь возможность доступа к одному сеансу и файлам cookie.

Обязательно установите домен сеанса в environment / production.rb в обоих приложениях:

config.action_controller.session = { :domain => ".myapp.com" }

Я должен также упомянуть, что вы можете рассмотреть возможность использования какой-либо общей аутентификации или токен-аутентификации между приложениями, поскольку куки могут быть взломаны или иным образом скомпрометированы.

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