首页 > 解决方案 > Rails - 设计 - 按域名限制用户

问题描述

我正在使用 Devise 在具有多个域名的网站上进行身份验证,并且我想限制用户通过域名登录。我将允许的域保存在我的用户模型中。

这通常很容易处理

def active_for_authentication?
    super and self.is_domain_allowed?
end

挑战在于这个函数进入模型并且模型没有访问当前域的权限,当前域request.domain只能在控制器中使用。我看过 overriding Devise::SessionsController,但似乎唯一的选择是允许登录然后立即注销该人,这不是一个干净的解决方案。

导轨 4.2.6

设计 3.5.10

建议?

标签: ruby-on-rails-4devise

解决方案


推荐阅读