加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 配置Rails应用程序以处理多个子域和多个cookie

发布时间:2020-12-17 03:00:28 所属栏目:百科 来源:网络整理
导读:我有一个支持多个域的rails应用程序,每个域可能有多个子域. 访问mydomain1.com的用户不会获得与mydomain2.com相同的体验(尽管应用程序的基本行为相同) 因此,如果用户登录到mydomain1.com,则不应该登录到mydomain2.com 如果用户登录到france.mydomain1.com,则
我有一个支持多个域的rails应用程序,每个域可能有多个子域.

访问mydomain1.com的用户不会获得与mydomain2.com相同的体验(尽管应用程序的基本行为相同)

因此,如果用户登录到mydomain1.com,则不应该登录到mydomain2.com

如果用户登录到france.mydomain1.com,则应该登录到germany.mydomain1.com

以前,我通过在会话存储配置中设置域来处理此问题:

MyApp::Application.config.session_store :cookie_store,:key => '_MyApp_session',:domain => APP_CONFIG[:domain]

我正在尝试找出处理多个域的最佳方法吗?

我已经尝试过围绕ActionDispatch :: Callback进行攻击,但是请求无法从那里获得.

任何人都可以建议在一个应用程序中支持多个cookie的好方法吗?

理想情况下,我想为每个子域创建一个新的cookie.

解决方法

你应该这样做:

class ActionDispatch::Session::MultiDomainStore < ActionDispatch::Session::CookieStore
  def initialize(app,options = {})       
    super(app,options.merge!(:domain => compute_domain(app)))      
  end

  def compute_domain(app)
    ...
  end
end

MyApp::Application.config.session_store :multi_domain_store,:key => '_MyApp_session'

即您的域名应以点开头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读