对active_admin上的不同用户进行授权

时间:2014-10-07 02:56:38

标签: ruby-on-rails-4 activeadmin

如果我有不同用户的许多模型来管理它们。

用户A负责CAR,ORDER,SHIP

用户B负责PLANE,ORDER

每个用户都应该只修改他们可以使用的模型。

如何在active_admin上执行此操作?

有哪些文章可以参考?

由于

1 个答案:

答案 0 :(得分:0)

CanCan是Ruby on Rails的授权库,它限制了允许给定用户访问的资源。所有权限都在一个位置(Ability类)中定义,并且不会跨控制器,视图和数据库查询重复。

https://github.com/CanCanCommunity/cancancan

您还需要一些角色管理员:https://github.com/RolifyCommunity/rolify

所以你可以写一下ability.rb:

if current_admin_user.has_role? :roleA
  can :manage Car, Order, Ship
elsif current_admin_user.has_role? :roleB
  can :manage, Plane, Order
end