2012-04-14 24 views
0

Ich möchte die Bruteforce-Funktion von Authlogic verwenden, aber habe keine Ahnung, wie man es konfiguriert. Mein user_session.rb Modell sieht wie folgt aus:Bruteforce Schutz mit authlogic, Rails3.0.10

class UserSession < Authlogic::Session::Base 

#edited code to ensure specific login error isn't displayed 

    generalize_credentials_error_messages "Login/password invaild" 


    #brute force protection 
    consecutive_failed_logins_limit 3 


    #orginal code commented out 
     #def to_key 
     #new_record? ? nil : [ self.send(self.class.primary_key) ] 
     #end 
     #def persisted? 
     #false 
     #end 

end 

Ich weiß, dass ich mehr Konfiguration als diese benötigen, aber was? Jede Hilfe wird geschätzt.

Antwort

0

Sie müssen sucessive_failed_logins_limit und optional failed_login_ban_for hinzufügen. Ich habe unten ein Beispiel mit den Standardeinstellungen von Authlogic gezeigt. Sie müssen keine Konstanten für diese Werte definieren und verwenden, aber ich mache das gerne so, dass die Werte programmgesteuert von überall her referenziert werden können.

class UserSession < Authlogic::Session::Base 
    MAXIMUM_NUMBER_OF_FAILED_LOGIN_ATTEMPTS_ALLOWED = 50 
    consecutive_failed_logins_limit MAXIMUM_NUMBER_OF_FAILED_LOGIN_ATTEMPTS_ALLOWED 

    LOCKOUT_TIMEOUT_PERIOD = 2.hours 
    failed_login_ban_for LOCKOUT_TIMEOUT_PERIOD 

... 
end