2017-10-24 8 views
1

デビースを削除して簡単に転記しました。bcrypt + cancancan auth system。ActiveAdminがデビジョンなしで動作しない

に関連付けられていたWebアプリケーションの管理者向けのソリューションとして、ActiveAdminも使用しています。

私は独自の認証方法を追加することで解決したいくつかのことを試しましたが、ルートの解決策やその他の必要なものは見つかりませんでした。

adminユーザーであると思われるAdminUserモデルがあります。私はパスワードを使用するカラムを通常のユーザが使用するように変換しましたが(私たちがbcryptに切り替えた後)、私はActiveAdminの扱いを完全に失いました。

+0

これは広い質問であり、私は広範な回答を掲載しました。あなたが直面している正確なエラーの詳細については、より正確なヘルプを提供することができます。 –

答えて

3

config/initializers/active_admin.rbに再設定が必要な項目がいくつかあります。

​​

以上が影響し、アクティブな管理初期化子でちょうど2つのものです:あなたはまた、current_user方法を設定する必要があるかもしれません

# config/initializers/active_admin.rb 

# == User Authentication 
# 
# Active Admin will automatically call an authentication 
# method in a before filter of all controller actions to 
# ensure that there is a currently logged in admin user. 
# 
# This setting changes the method which Active Admin calls 
# within the application controller. 
config.authentication_method = :authenticate_active_admin_user! 

# app/controllers/application_controller.rb 
def authenticat_active_admin_user! 
    # Something that returns true if the current user has access to active admin 
end 

あなたは、認証方法を定義する必要があるかもしれませんログインと認証。私は、全体を調べて、ユーザーの認証と承認に関連する他のすべての設定を調べることをお勧めします。イニシャライザにはコメントが書かれており、Active Adminには多くのドキュメントがあります。アクティブな管理者が認証と承認に使用している他の方法のいくつかを置き換える必要があるかもしれません。

最後に、CanCanCan Abilityクラスが現在のユーザーにアクセスできることを確認してください。あなたのコントローラが正しいユーザを渡していない場合は、アクセスがブロックされます。

+0

ありがとう、トム! –

関連する問題