在多租户架构中,我可以使用cancan实现组织管理员的权限,如下所示:
def admin
can :manage, ModelName, organization: { id: @user.organization_id }
end
def superadmin
can :manage, :all
end
但是,我不知道如何使用rolify做类似的事情?
if user.has_role? :superadmin
can :manage, :all
else
if user.has_role? :admin
***can :manage, ModelName, :id => _______________ ***
end
end
显然,我希望管理员可以使用属于他的所有ID管理ModelName,但是如何通过用户和组织获取它?
谢谢,
答案 0 :(得分:0)
我不认为只使用rolify就足够了,因为rolify仅用于管理用户角色。您需要的是pundit等授权系统。
我一直在和rolify一起使用rolify,并且它已经为多租户工作做得很好。