2012-04-14 50 views
0

我想使用authlogic的Bruteforce功能,但不知道如何去配置它。我的user_session.rb模型看起來像這樣:使用authlogic進行Bruteforce保護,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 

我知道我需要更多的配置比這個,但什麼?任何幫助讚賞。

回答

0

您需要添加consecutive_failed_logins_limit和(可選)failed_login_ban_for。我使用Authlogic的默認設置顯示了一個例子。您不需要爲這些值定義和使用常量,但我喜歡這樣做,以便可以從任何地方以編程方式引用這些值。

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 
相關問題