Доступ к информации о сеансе rails по идентификатору сеанса

StackOverflow https://stackoverflow.com/questions/1924875

  •  20-09-2019
  •  | 
  •  

Вопрос

Я использую хранилище сеансов на основе файлов 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)?

Спасибо.

Это было полезно?

Решение

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

$ heroku domains:add billing.myapp.com

Обязательно следуйте Инструкции Героя чтобы настроить ваш DNS.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top