【发布时间】:2018-08-15 03:49:27
【问题描述】:
我正在开展一个涉及两个 Devise 模型(User 和 Admin)的项目。我想做的是允许Admin 成员能够以 RESTful 方式查看和管理Users(即:索引、显示、创建、更新、销毁)。
最好的方法是创建一个users_controller 并将其视为一个普通的 RESTful 模型(修改每个控制器操作以在适用的情况下与 Devise 一起使用)?
任何建议将不胜感激。
谢谢。
澄清更新
看来我对上面的问题不清楚。下面的答案是关于影响User 模型的操作的授权。这不是我要问的。我问的是促进交易本身的最佳方式,而不是交易的授权和限制。让Admin 成员创建Users 和更新User 记录而不使用标准的设计自我注册的最佳方式是什么。我的意图是禁用自我注册,以便只允许Admin 成员创建User 帐户的新User 注册。希望这更清楚。谢谢。
【问题讨论】:
-
这确实是一个授权问题...您只允许管理员和记录所有者管理记录(如果适用)。您是否实施了任何类型的授权系统(无论是像 pundit 这样的 gem 还是您自己的)?
-
@MarkMerritt:感谢您的回复。我要问的是如何促进
Admin成员对User记录的实际RESTful 管理,暂时不管授权如何,但接下来是授权方面的事情!再次感谢。 -
无论您尝试管理的记录类型如何,最 RESTful 的方式是拥有一个单独的
/admin基本路由,只有管理员用户才能访问。 -
@MarkMerritt:感谢您的意见,我已经更新了我的问题,以便进一步澄清我想要实现的目标。
标签: ruby-on-rails devise ruby-on-rails-5