:database_authenticatable
またはのいずれかを個別に構成できます:ldap_authenticatable
。1 つは Rails SQLite 開発データベースに対して認証し、もう 1 つは会社の LDAP/Active Directory サーバーに対して認証します。
私が今できるようにしたいのは、両方の認証を積み重ねることです。ユーザーがデータベースに対して認証されている場合は問題ありません。そうでない場合は、LDAP を確認します (最終的にユーザーを作成します)。私は明白なことを試しました:
devise :database_authenticatable, :ldap_authenticatable, :rememberable, :trackable
ユーザーは、期待どおりにデータベースに対して最初に認証されます。
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."login" = 'test@test.com' LIMIT 1
このクエリは、ユーザー 'test@test.com' に対して 1 行を返します (電子メール フィールドの不一致についてはログイン列を無視してください)。問題はdevise
、失敗した LDAP 認証を続行することです。devise
最初に成功した認証戦略を受け入れ、そこで停止するにはどうすればよいでしょうか?