注册用户仅限管理员使用

时间:2013-01-17 18:33:32

标签: ruby-on-rails authentication devise

我用Devise创建了一个Admin模型。

现在我想创建一个用户模型(使用Devise),用户必须能够进行密码恢复,编辑个人资料并登录但无法签名。

用户注册仅供管理员使用。

如果我使用可注册模块生成Devise用户模型,我如何才能拥有注册页面,使其仅供管理员使用而不能供用户使用?

感谢您的支持

2 个答案:

答案 0 :(得分:1)

Devise为您提供了helper方法authenticate_resource!资源是你的模型。在这种情况下,您将拥有authenticate_user!和authenticate_admin!您可以在注册控制器中输入以下内容:

before_filter :authenticate_admin!
skip_before_filter :authenticate_user!

第一部分将确保管理员是唯一允许的人,而不是其他人。第二部分确保管理员也不必以某种方式成为用户。

答案 1 :(得分:1)

如果你有app / controllers / registrations_controller.rb添加:

  before_filter :authenticate_admin!

否则,您将必须显示您正在使用的一些代码。