【问题标题】:Managing User Accounts with Rails 3 and Devise使用 Rails 3 和 Devise 管理用户帐户
【发布时间】:2011-04-22 15:25:51
【问题描述】:

我在 Rails 3 应用程序中实现了 Devise,我需要管理员用户才能管理用户。用户不可注册,因此管理员必须创建帐户。解决此问题的最佳方法是什么?

当 Devise 已经提供 Devise::RegistrationController 时,创建我自己的 UsersController 似乎不是很干,但我没有看到任何其他选项。

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    我选择在RegistrationController 旁边创建自己的UsersController。拥有我自己的 RESTful 控制器用于管理目的真的很有意义。管理用户记录和维护与其相关的管理字段不是设计人员的工作。毕竟,它是一个身份验证框架。让它去做它的设计似乎是正确的。您需要创建自己的用户模型是有原因的。

    【讨论】:

      【解决方案2】:

      您可以覆盖 RegistrationController 以提供您需要的功能。从这里检查第一个答案: Override devise registrations controller

      【讨论】:

      • 尚未对此进行测试,但您可以覆盖 RegistrationController 并简单地在其中放置一个 before_filter 以确保管理员正在发出请求。
      • 我现在实际上有自己的注册控制器来进行授权。我的问题是,当以另一个用户身份调用 sign_up 时,您会立即以该用户身份登录(就像它是用户注册一样)。如果我要创建自己的所有方法,我想我宁愿拥有自己的 UsersController
      猜你喜欢
      • 2016-01-23
      • 2011-12-21
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-08
      • 1970-01-01
      相关资源
      最近更新 更多