如何在Spree中为管理员提供仅创建用户角色的权限?

时间:2014-06-10 05:57:10

标签: ruby-on-rails ruby devise spree

目前我有两个角色,默认设置,'用户'和'管理员'。

我添加了一个名为' Manager'具有管理订单,用户

的权限
class ManagerAbility
  include CanCan::Ability

  def initialize user
    if user.has_spree_role?(:manager)
      can :manage, Spree::Order
      can :manage, Spree::User
    end
  end
end

如果管理员已登录,他可以管理订单和用户,她可以创建具有管理员角色的新用户。但我需要一种能够只创建“用户”的能力。不是'管理员'或其他经理'角色。

使用spree_auth_devise - 2-2-stable

如果有人能帮助我,我感激不尽。谢谢。

1 个答案:

答案 0 :(得分:0)

这不是Spree目前支持的一些东西。

您必须修改Spree的UsersController才能添加此限制。它目前不支持对角色的任何限制。您将需要修改(至少)创建和更新功能,以检查是否允许登录用户创建/更新用户到新选择的角色。