Ruby on rails 如何限制对rails\u管理面板的访问?
我有一个简单的应用程序,我使用Desive进行身份验证。我刚刚添加了rails\u admin gem 这将允许通过/admin路由轻松访问数据。我还补充了Ruby on rails 如何限制对rails\u管理面板的访问?,ruby-on-rails,devise,rails-admin,Ruby On Rails,Devise,Rails Admin,我有一个简单的应用程序,我使用Desive进行身份验证。我刚刚添加了rails\u admin gem 这将允许通过/admin路由轻松访问数据。我还补充了 RailsAdmin.config do |config| config.authenticate_with do warden.authenticate! scope: :admin end config.current_user_method(&:current_admin) end 要初始化,现在需要在
RailsAdmin.config do |config|
config.authenticate_with do
warden.authenticate! scope: :admin
end
config.current_user_method(&:current_admin)
end
要初始化,现在需要在访问/admin之前进行身份验证
但我还需要一个限制。我的用户模型中有一个admin属性。我仅通过控制台更改admin属性。我想将访问/admin面板的权限限制为仅admin属性设置为true的用户
目前,任何用户都可以访问rails\u admin gem提供的/admin面板。我怎样才能达到这个目标?谢谢你的帮助!谢谢 我建议您编写此自定义授权,因为您有一个
boolean
管理员字段
config.authorize_with do |controller|
if current_user.nil?
redirect_to main_app.new_account_session_path, flash: {error: 'Please Login to Continue..'}
elsif !current_user.admin?
redirect_to main_app.root_path, flash: {error: 'You are not Admin bro!'}
end
end
好的,谢谢,这是一个完美的解决方案,我正在寻找它,@md farhan memon添加到Rails管理员wiki中,因为它不见了。