2017-05-30 13 views
0

私は認証のためにdeviseを使用したシンプルなアプリケーションを持っています。私はちょうど/管理経路を介してデータへの容易なアクセスを可能にするrails_admin宝石に rails_admin管理パネルへのアクセスを制限する方法は?

https://github.com/sferik/rails_admin

この

を追加しました。また、/ adminにアクセスする前に認証が必要なので、

RailsAdmin.config do |config| 
    config.authenticate_with do 
    warden.authenticate! scope: :admin 
    end 
    config.current_user_method(&:current_admin) 
end 

を初期化者に追加しました。

しかし、もう1つ制限が必要です。 Userモデルにadminプロパティがあります。私は管理者のプロパティをコンソールでのみ変更します。/adminパネルへのアクセスを、adminプロパティがtrueのユーザだけに制限したい。

現在、どのユーザーもrails_admin gemが提供する/ adminパネルにアクセスできます。どのように私はこの目標を達成することができますか?私は助けていただきありがとうございます!ありがとう!私はあなたが管理者のためのbooleanフィールドを持っているので、このカスタム認証を書くことをお勧め

答えて

1

..

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 
+0

OKおかげで、これはトリックをしたhttps://github.com/sferik/rails_admin/wiki/Authorization – kofhearts

関連する問題