你好,我刚刚发现了gem railsadmin,我对其进行了配置,但是目前所有用户都可以通过在其url中键入admin来访问管理部分,我想限制访问权限,并且只允许具有admin角色的用户访问。
在我的用户表中,我已经有一个角色列,我写了“ admin”来创建一个用户->超级用户
RailsAdmin.config do |config|
## == Devise ==
config.authenticate_with do
warden.authenticate! scope: :user
end
config.current_user_method(&:current_user)
end
实际上所有用户都可以访问管理仪表板
答案 0 :(得分:1)
如果您使用的是devise,则可以通过routes.rb
authenticate :user, lambda { |u| u.role == "admin" } do
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
end
或者您可以使用cancancan
(how to use)