2017-10-02 15 views
0

私はRails 5とクリアランス1.16.0を使用しています。Xのログイン試行に失敗した後、ユーザーをクリアランスする方法を教えてください。

ユーザーの試みが4回でlogginとき私は、私は、ユーザーがロックされているかどうかを確認し、ログからそれらを防ぐためにガードを持っていることを知って、彼らは今

if user.failed_attempts > 3 
    user.lock = true 
    flash[:error] = "You have been locked out, please contact admin to unlock account" 
end 

をロックされていると言って、彼らにmesaageを表示したいと思いますユーザーがログインに失敗したと判断するにはどうすればよいですか?クリアランスを使用して失敗試行カウンタをインクリメントします。

おかげ

+0

クリアランスは、このままではサポートされていません。自分で実装する必要があります。ガードを作成して(イニシャライザに追加して)、失敗したappメソッドを作成し、失敗したアプリケーションに 'attemps'を追加してください。失敗アプリがモデルをロックしようとすると、最大値に達すると – trh

+0

あなたは隙間の代わりにdevise gemを使うことができます。 – krishnar

+0

@trhガードが失敗した場合に実行する必要がありますか? ユーザーがログインした後でのみ実行されますか? –

答えて

0

それを行うための唯一の方法は私がやりたくなかったbehavoirをオーバーライドすることであるように思えます。

github.com/thoughtbot/clearance/issues/742

関連する問題