在Rails中使用Devise Gem时,如何让仅管理员注册新管理员?

酒馆

我正在使用Devisegem进行身份验证。我已经创建了一个Admin模型,并向其中添加了Devise。通常任何人都可以注册。但是我只需要一个管理员即可向系统添加新的管理员。我怎样才能做到这一点?

rails_id

实际上,您可以在devise Wiki中找到答案

首先,您应该阅读此方法:添加管理员角色,方法2适合您的情况。

使用布尔类型向您的管理模型添加“超级管理员”属性。

$ rails generate migration add_super_admin_to_users super_admin:boolean

如果您对dbms使用postgresql / mysql,请不要忘记在迁移之前将默认false添加到super_adminattibute

如果您的数据库上具有“超级管理员”用户,则应该自定义管理员注册页面Devise :: RegistrationsController该定制设计注册控制器

registrations_controller.rb

class RegistrationsController < Devise::RegistrationsController
  skip_before_filter :require_no_authentication
  before_filter :authenticate_user!, :authenticate_role!

  # GET /resource/sign_up
  def new
    super
  end

  # POST /resource
  def create
    super
  end

  protected

  def after_sign_up_path_for(resource)
    your_specific_path
  end

end

并添加authenticate_role!您的application_controller.rb外观

class ApplicationController < ActionController::Base
  protect_from_forgery


  protected
  def authenticate_role!
    if current_user.super_admin == true
      super
    else
      redirect_to another_path, notice: "You can't access this page"
    end
  end

end

将此添加到您的 views/devise/registrations/new.html.erb

<div><%= f.label :super_admin %><br />
<%= f.check_box :super_admin %></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使管理员用户使用devise和cancan?

来自分类Dev

Rails Devise-管理员角色,模型与属性

来自分类Dev

多位管理员使用PHP登录

来自分类Dev

GitHub:如何使用户成为组织的管理员?

来自分类Dev

Rails:提前干掉和管理员

来自分类Dev

使用devise gem,我的管理员如何同时充当Rails4中的管理员和用户

来自分类Dev

如何设置rails_admin的管理员凭据?

来自分类Dev

Rails建模管理员控制的字段

来自分类Dev

Rails Devise限制管理员用户的IP地址访问

来自分类Dev

如何在Wagtail管理员中正确使用钩子?

来自分类Dev

如何使用Firebase管理员向设备发送通知

来自分类Dev

如何使用RabbitMq管理员UI记录队列

来自分类Dev

如何仅使用管理员登录。角度的

来自分类Dev

如何检查是否使用管理员帐户登录?

来自分类Dev

如何使用管理员权限运行.msi安装程序?

来自分类Dev

如何允许非管理员使用shutdown.exe?

来自分类Dev

Rails路由管理员错误

来自分类Dev

即使有新的http请求,如何检查我的用户是否是Rails的管理员?

来自分类Dev

使用CanCan时如何启用管理员销毁记录?

来自分类Dev

使用“网站管理员”标题

来自分类Dev

用户管理员-使用750在家时查看权限

来自分类Dev

如何在ROR中通过devise添加管理员

来自分类Dev

如何使用wget下载管理员?

来自分类Dev

从rails-api devise_token_auth项目中删除管理员注册路线?

来自分类Dev

如何使用Devise向管理员发送管理员专用的密码重置电子邮件?

来自分类Dev

如何让用户ping管理员Rails设计

来自分类Dev

如何在前端使用管理员反应组件?

来自分类Dev

如何使用 Firebase 管理员查询 Firebase 用户?

来自分类Dev

如何在不注册 Rails 的情况下创建简单的管理员登录表单

Related 相关文章

  1. 1

    如何使管理员用户使用devise和cancan?

  2. 2

    Rails Devise-管理员角色,模型与属性

  3. 3

    多位管理员使用PHP登录

  4. 4

    GitHub:如何使用户成为组织的管理员?

  5. 5

    Rails:提前干掉和管理员

  6. 6

    使用devise gem,我的管理员如何同时充当Rails4中的管理员和用户

  7. 7

    如何设置rails_admin的管理员凭据?

  8. 8

    Rails建模管理员控制的字段

  9. 9

    Rails Devise限制管理员用户的IP地址访问

  10. 10

    如何在Wagtail管理员中正确使用钩子?

  11. 11

    如何使用Firebase管理员向设备发送通知

  12. 12

    如何使用RabbitMq管理员UI记录队列

  13. 13

    如何仅使用管理员登录。角度的

  14. 14

    如何检查是否使用管理员帐户登录?

  15. 15

    如何使用管理员权限运行.msi安装程序?

  16. 16

    如何允许非管理员使用shutdown.exe?

  17. 17

    Rails路由管理员错误

  18. 18

    即使有新的http请求,如何检查我的用户是否是Rails的管理员?

  19. 19

    使用CanCan时如何启用管理员销毁记录?

  20. 20

    使用“网站管理员”标题

  21. 21

    用户管理员-使用750在家时查看权限

  22. 22

    如何在ROR中通过devise添加管理员

  23. 23

    如何使用wget下载管理员?

  24. 24

    从rails-api devise_token_auth项目中删除管理员注册路线?

  25. 25

    如何使用Devise向管理员发送管理员专用的密码重置电子邮件?

  26. 26

    如何让用户ping管理员Rails设计

  27. 27

    如何在前端使用管理员反应组件?

  28. 28

    如何使用 Firebase 管理员查询 Firebase 用户?

  29. 29

    如何在不注册 Rails 的情况下创建简单的管理员登录表单

热门标签

归档