让管理员仅管理用户的简单方法

时间:2019-04-05 10:12:27

标签: authentication ruby-on-rails-5

我只需要让管理员用户创建和编辑所有用户。 我正在使用Devise(但是我可以根据需要更改gem),并且我尝试了很多来自stackoverflow和网络的建议。 我无法使这些示例/建议中的任何一个起作用。

是否有一种简便的管理面板方式,只有管理员可以创建和编辑用户,而所有“简单”用户都可以管理其余的应用程序(在身份验证之后)?

我正在使用RAILS 5 请让我知道是否需要提供更多信息。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用RolifyCanCanCan宝石为用户定义角色和能力。 并指定只有角色admin才能修改记录,而其他角色只能读取记录。

if user.has_role? :admin
  can :manage, :all
else
  can :read, :all
end

本教程详细介绍了https://github.com/RolifyCommunity/rolify/wiki/Devise---CanCanCan---rolify-Tutorial