Проблема с сессиями, поддоменами и авторизацией в Rails - PullRequest
3 голосов
/ 13 марта 2010

У меня есть приложение rails с аутентификацией аутентификации и структурой username.domain.com, созданной с помощью subdomain-fu.

Но мой сеанс прерывается при переходе от domain.com к username.domain.com. Я пытался добавить

config.action_controller.session = {:domain => '.localhost:3000'}

на мой development.rb, но это швы, чтобы сломать автоматическое отключение выхода / входа.

Любые предложения о том, что делать?

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 15 ноября 2012

Для Rails3 приведенный выше код вызовет NoMethodError:

undefined method `session=' for ActionController::Base:Class

Итак, для Rails3 вы не должны изменять конфигурацию среды, а должны app/config/initializers/session_store.rb выглядеть так:

YourAppName::Application.config.session_store :active_record_store,
    {:key => '_your_namespace_session', :domain => '.yourdomain.com'}
1 голос
/ 14 марта 2010

у вас есть эта проблема в режиме разработки, но, вероятно, у вас не будет этой проблемы в режиме Prod .. вы пытаетесь установить cookie верхнего уровня. ваш браузер не позволит вам сделать это. что вы пытаетесь сделать с

config.action_controller.session = {:domain => '.localhost:3000'}

все равно что сказать

config.action_controller.session = {:domain => '.com'}

попробуйте создать собственный локальный домен, такой как localhost.localdomain или dummylocal.com или что-то еще, и это заставит его работать.

config.action_controller.session = {:domain => 'localhost.localdomain'}
config.action_controller.session = {:domain => 'dummylocal.com'}
0 голосов
/ 21 апреля 2010

Может быть, это может помочь: http://erikonrails.snowedin.net/?p=248?

...