首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails中的会话、子域和身份验证逻辑问题

Rails中的会话、子域和身份验证逻辑问题
EN

Stack Overflow用户
提问于 2010-03-13 21:49:05
回答 3查看 2K关注 0票数 3

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

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

代码语言:javascript
复制
config.action_controller.session = {:domain => '.localhost:3000'}

到我的development.rb,但这似乎打破了身份验证逻辑,禁用了注销/登录。

有什么建议吗?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-14 06:31:45

您在开发模式下会遇到此问题,但在prod模式下可能不会出现此问题。您正在尝试设置顶级cookie。你的浏览器不会让你这么做的。你想要做什么?

代码语言:javascript
复制
config.action_controller.session = {:domain => '.localhost:3000'}

无异于说

代码语言:javascript
复制
config.action_controller.session = {:domain => '.com'}

尝试创建自定义本地域,如localhost.localdomain或dummylocal.com等,这将使其正常工作。

代码语言:javascript
复制
config.action_controller.session = {:domain => 'localhost.localdomain'}
config.action_controller.session = {:domain => 'dummylocal.com'}
票数 1
EN

Stack Overflow用户

发布于 2012-11-15 07:02:02

对于Rails3,上面的代码将引发NoMethodError

代码语言:javascript
复制
undefined method `session=' for ActionController::Base:Class

因此,对于Rails3,您不应该更改您的环境配置,而应该将您的app/config/initializers/session_store.rb设置为:

代码语言:javascript
复制
YourAppName::Application.config.session_store :active_record_store,
    {:key => '_your_namespace_session', :domain => '.yourdomain.com'}
票数 1
EN

Stack Overflow用户

发布于 2010-04-21 10:51:06

也许这能帮上忙:http://erikonrails.snowedin.net/?p=248

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2438553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档