0

我想知道如何使用 devise gem 添加管理员角色。我已经将它用于普通用户,但不适用于管理员角色。我已阅读此https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-role。上面明确提到了如何在应用程序中添加管理员角色。但我有一些关于以下内容的问题:

  1. 如何指定该特定用户是管理员(在我的情况下,我只想要一个私人管理员来控制应用程序中的活动)?

  2. 如何使用管理员角色进行基本的 CRUD 活动(我想要用户及其内容的 CRUD 活动)?

谢谢

4

3 回答 3

2

我使用过 Devise、CanCan 和 Rolify 堆栈来做一些管理工作。它超出了您的需要,但好处是惊人的。关于如何在此处进行设置的 wiki 。

如果你想要一个管理员,首先给你的所有用户一个角色,例如“成员”,然后也给你的管理员一个角色,比如“管理员”。

然后你可以使用设计检查current_user,你也可以使用 Rolify 之类的东西if @user.has_role? "admin"

老板很漂亮

于 2012-11-14T10:36:41.023 回答
0

目前的轨道没有办法添加,除了像 CancanCan 和 rolify 这样的宝石。按照他们文档中的步骤,还将所有其他用户的 admin_role 设置为 false 并使用 rails 控制台将所需的用户设置为 true 下面的视频非常有帮助。

Web crunch 教程,管理员角色

于 2020-09-13T15:30:06.643 回答
0

对于使用Rails 5DeviseCanCanCan的更新解决方案(CanCan 看起来不再受支持),请查看:

  1. RAILS 5:具有 3 种角色类型的用户帐户 - DEVISE、RAILS_ADMIN、CANCANCAN

这是一个值得一提的替代解决方案;它使用 Rails Pundithas_secure_password,值得一提:

  1. 在 Ruby on Rails 中实现角色和权限

使用 CanCanCan 的优势在于它将授权与用户角色分离,而许多人发现 Pundit 更易于使用侵入性更小。两者都很好。

两者都解决了您想要做的事情。

于 2018-02-01T13:26:59.403 回答