Problem with sessions, subdomains and authlogic in

2020-07-22 19:34发布

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!

3条回答
forever°为你锁心
2楼-- · 2020-07-22 19:44

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'}
查看更多
我命由我不由天
3楼-- · 2020-07-22 19:50

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'}
查看更多
▲ chillily
4楼-- · 2020-07-22 20:00
登录 后发表回答