Rails: как я могу поделиться постоянными файлами cookie с несколькими поддоменами?

#ruby-on-rails #ruby-on-rails-3 #cookies

#ruby-on-rails #ruby-on-rails-3 #файлы cookie

Вопрос:

Процессы регистрации и входа в систему моего приложения выполняются на защищенном поддомене. По этой причине я изменил config/initializers/session_store.rb , чтобы они выглядели как

 if Rails.env.production?
  AppName::Application.config.session_store :cookie_store, :key => '_app_name_session', :domain => '.app_name.com'
else
  AppName::Application.config.session_store :cookie_store, :key => '_app_name_session'
end
  

чтобы сеанс мог быть общим для всех поддоменов.

Как я могу предоставить общий доступ к постоянным файлам cookie на всех поддоменах, чтобы, когда я устанавливаю постоянный файл cookie на одном поддомене через cookies.permanent[:some_key] = 'some value' , я мог получить доступ к этому файлу cookie на другом поддомене через cookies[:some_key] ?

Ответ №1:

Вам нужно указать домен, используя более подробный метод настройки файлов cookie:

 cookies[:some_cookie] = {
  :value => "whatever",
  :domain => ".app_name.com",
  :expires => 1.year.from_now.utc
}
  

Я еще не нашел настройки конфигурации, чтобы сделать это глобально.