使用单点登录进行 Rolify 和acts_as_tenant(旁边有一些 Devise 和 Pundit) - 可以做到吗?

问题描述 投票:0回答:2

我打算尝试在我的 Rails 应用程序中完成这项工作,但我想我会看看是否有人知道一个会阻止我前进的陷阱。

基本前提是我有以下型号:

  • 公司 -acts_as_tenant 中的租户
  • 用户 - 与 Devise 相关的所有租户共享的唯一电子邮件地址,用于身份验证,即单点登录
  • 角色 - 通过 Rolify,然后使用 Pundit 进行授权
  • Model1、Model2 等,每条记录属于一个公司

据我所知,只要我正确设置,我的租户数据就会被隔离,然后用户可以在租户之间切换,他们的权限也会相应改变。

所以我的具体问题:

acts_as_tenant 只能与 Rolify 一起使用吗?

例如,如果租户 1 中的管理员用户向新用户添加角色,该角色是否会自动仅应用于该租户拥有的资源?

devise single-sign-on rolify pundit acts-as-tenant
2个回答
1
投票

我最终得到了公共模式中的公寓 gem 以及我的用户和公司模型。我有一个角色模型,它将用户链接到公司,并包含用户在给定公司中拥有的角色。 Devise 对用户进行身份验证,Pundit 使用角色进行授权。


0
投票

acts_as_tenant 只能与 Rolify 一起使用吗?

这是可以做到的。它不仅有效。

Rolify 使用数据库表 UsersRoles 以多对多的方式将用户的角色关联起来。但它没有与之关联的活动记录模型。在它的位置,它使用数据库的“适配器”,因此您不能使该表以直接的方式使用acts_as_tenant。

© www.soinside.com 2019 - 2024. All rights reserved.