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

ruby-on-rails – 基于已登录用户的公寓交换机租户

发布时间:2020-12-17 03:24:42 所属栏目:百科 来源:网络整理
导读:我正在尝试根据 per request basis上的用户登录实现 apartment的自定义电梯. 基本上我想要实现的是: 每次请求进入时,请切换到正确的租户 如果没有登录用户,则选择默认租户 但是,我的问题是我不知道如何从Generic Elevator提供的请求(Rack::Request)对象中检
我正在尝试根据 per request basis上的用户登录实现 apartment的自定义电梯.

基本上我想要实现的是:

>每次请求进入时,请切换到正确的租户
>如果没有登录用户,则选择默认租户

但是,我的问题是我不知道如何从Generic Elevator提供的请求(Rack::Request)对象中检索当前用户.有关如何操作的任何提示或有任何其他方式来获取当前用户没有请求?

我正在使用devise进行身份验证.

解决方法

对于那些与我有同样问题的人,这是我的解决方案.

配置/初始化/ apartment.rb

#My excluded models    
config.excluded_models = %w{ User }

Rails.application.config.middleware.use 'Apartment::Elevators::Generic',lambda { |request|
      tenant_name = nil



  if request.env['rack.session']['warden.user.user.key'] != nil
      tenant_name = User.find(request.env['rack.session']['warden.user.user.key'][0][0]).account.name
  end

  return tenant_name
}

但是我不确定这是100%防故障,所以如果我发现它有问题,我会发布更新.

(编辑:李大同)

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

    推荐文章
      热点阅读