Rails App单点登录多个组织

时间:2016-07-01 08:35:58

标签: ruby-on-rails ruby devise

背景

设计用户将organization_id包含为关联belongs_to Organization。

目前在Rails App中为用户登录的URL是

http://localhost:3000/users/organizations/1/sign_in

以上网址帮助我根据用户名和用户找到用户sign_in session时的组织。

用户模型验证组织范围内唯一的用户名。

需要实现

http://localhost:3000/users/sign_in

为所有组织登录网址。

当在上面进行实际操作时,当前登录网址是依赖于组织的,将转换为独立于组织。

任何人都可以建议一个可能的解决方案,它允许我在不同的组织中创建具有相同用户名的多个用户,因此登录它允许用户进入他们各自的组织。

其他解决方案也欢迎。

1 个答案:

答案 0 :(得分:0)

我假设您有多个组织,并且您希望在它们之间分隔数据。如果是这种情况,您可能需要考虑多租户。简单的实现是acts_as_tenant gem

比你简单地说明"会员资格"这将包含该特定组织的用户名。组织范围内的记录将在organization_id上具有默认范围,因此他们可以复制其他所有内容并保持"清理"

也许不是最快的设置,但如果你想拥有多个组织 - 我尝试过的最简单。