Problem with sessions, subdomains and authlogic in Rails

戏子无情 提交于 2020-01-01 14:58:36

问题


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!


回答1:


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'}



回答2:


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:


Maybe this can help: http://erikonrails.snowedin.net/?p=248 ?



来源:https://stackoverflow.com/questions/2438553/problem-with-sessions-subdomains-and-authlogic-in-rails

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!