gpt4 book ai didi

ruby-on-rails - Multi-Tenancy 应用程序的授权 gem?

转载 作者:数据小太阳 更新时间:2023-10-29 07:57:09 24 4
gpt4 key购买 nike

是否有任何 Multi-Tenancy 应用程序的授权 gem/示例?

我查看了 CanCan 和 CanTango,但找不到我要找的东西。

我的应用有账户、用户、关系模型。关系模型有一个确定授权级别的 relationship_type 列。它的值可以是ownermoderatoreditor,将来可能更多。用户可以拥有/管理多个帐户,一个帐户可以有多个所有者/管理员。

我找到的所有示例都描述了单个租户应用程序,而我的应用程序的授权必须限定在正在查看的当前帐户范围内。例如,用户可以是一个帐户的访客,也可以是另一个帐户的所有者。

我开始认为我的关系模型设计不佳并且可能有缺点,但我不确定什么是更好的选择。

最佳答案

CanCan 确实可以处理这个问题,因为它允许您定义任意规则。您的能力文件可能如下所示:

def initialize(user)

can :read, BlogPost do |blog_post|
blog_post.account == user.account and user.relationship.in?([:owner, :moderator])
end

end

关于ruby-on-rails - Multi-Tenancy 应用程序的授权 gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9570671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com