I've got a rails app with authlogic authentication and a username.domain.com structure built with subdomain-fu.
But my session breaks when going from domain.com to username.domain.com. I've tried to add
config.action_controller.session = {:domain => '.localhost:3000'}
to my development.rb but that seams to break authlogic disabling sign out/sign in.
Any suggestions on what to do?
Thanks in advance!
you are having this issue in the development mode but probably wont have this issue in prod mode.. you are trying to set the top level cookie. your browser wont let you do that. what you are trying to do with
config.action_controller.session = {:domain => '.localhost:3000'}
is as good as saying
config.action_controller.session = {:domain => '.com'}
try creating custom local domain like localhost.localdomain or dummylocal.com or something and that will make it work.
config.action_controller.session = {:domain => 'localhost.localdomain'}
config.action_controller.session = {:domain => 'dummylocal.com'}
For Rails3 the code above will raise NoMethodError
:
undefined method `session=' for ActionController::Base:Class
So, for Rails3 you should not change you environment config but should set your app/config/initializers/session_store.rb
to look like:
YourAppName::Application.config.session_store :active_record_store,
{:key => '_your_namespace_session', :domain => '.yourdomain.com'}
Maybe this can help: http://erikonrails.snowedin.net/?p=248 ?
来源:https://stackoverflow.com/questions/2438553/problem-with-sessions-subdomains-and-authlogic-in-rails