3

我有一个带有 authlogic 身份验证的 rails 应用程序和一个使用 subdomain-fu 构建的 username.domain.com 结构。

但是当我从 domain.com 转到 username.domain.com 时,我的会话中断了。我试图添加

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

到我的 development.rb 但接缝打破 authlogic 禁用注销/登录。

关于做什么的任何建议?

提前致谢!

4

3 回答 3

1

您在开发模式下遇到此问题,但在 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'}
于 2010-03-13T22:31:45.297 回答
1

对于 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'}
于 2012-11-14T23:02:01.567 回答
0

也许这可以帮助:http ://erikonrails.snowedin.net/?p=248 ?

于 2010-04-21T02:51:05.637 回答