【问题标题】:Configuring Admin in rails admin在 rails admin 中配置管理员
【发布时间】:2016-01-28 04:34:28
【问题描述】:

我已在我的应用程序上成功设置 rails admin - 问题是现在任何人都可以访问 /admin ..我正在使用 devise,如何设置管理员用户并强制他们登录?

我不知道如何做到这一点

【问题讨论】:

    标签: ruby-on-rails-4 rails-admin


    【解决方案1】:

    您可以在 users 表中添加一个布尔属性并使其对 admin 为 true,然后您可以使用 cancan gem https://github.com/ryanb/cancan

    【讨论】:

    • 你的回答能具体一点吗?
    • 只需在 users 表中添加一个类似 is_admin 的布尔字段,并为管理员用户设置该字段为 true,然后在 sessions_controller 创建操作上处理路由。您可以使用种子文件或铁路控制台将字段更新为 true。
    【解决方案2】:

    使用https://github.com/CanCanCommunity/cancancan。适当调整权限。

    能力.rb

    user ||= User.new # guest user
    
    if user.roles.include? :admin
      can :manage, :all
    elsif user.roles.include? :editor
      can :access, :rails_admin   # grant access to rails_admin
      can :dashboard              # grant access to the dashboard
      can :index,       :all
      can :read,        :all
      can :export,      :all
      can :show_in_app, :all
      can :create,      []
      can :update,      []
      can :destroy,     []
      ...
    

    app_controller.rb

    rescue_from CanCan::AccessDenied do |exception|
      redirect_to main_app.root_path, alert: exception.message
    end
    

    【讨论】:

      猜你喜欢
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      相关资源
      最近更新 更多