【发布时间】:2016-01-28 04:34:28
【问题描述】:
我已在我的应用程序上成功设置 rails admin - 问题是现在任何人都可以访问 /admin ..我正在使用 devise,如何设置管理员用户并强制他们登录?
我不知道如何做到这一点
【问题讨论】:
标签: ruby-on-rails-4 rails-admin
我已在我的应用程序上成功设置 rails admin - 问题是现在任何人都可以访问 /admin ..我正在使用 devise,如何设置管理员用户并强制他们登录?
我不知道如何做到这一点
【问题讨论】:
标签: ruby-on-rails-4 rails-admin
您可以在 users 表中添加一个布尔属性并使其对 admin 为 true,然后您可以使用 cancan gem https://github.com/ryanb/cancan。
【讨论】:
使用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
【讨论】: