기본적으로 질문하는대로 묻습니다. verify_password_method
상태에 대한AuthLogic에서 암호화 된 암호를 허용해야합니까?
AuthLogic 문서 :
암호를 확인하는 데 사용되는 모델의 메소드의 이름. 이것은 인스턴스 메소드 여야합니다. 원시 암호와 crytped 암호를 받아 들일 준비가되어 있어야합니다.
이전 버전과 같이 일반 텍스트 암호를 저장하지 않고 시스템의 현재 위장 동작을 유지할 수 있기 때문에이 기능을 지원하고 싶습니다. 그러나 데이터베이스의 crypted_password
에 대한 간단한 문자열 비교가 일반 일반 텍스트 암호를 저장하는 것만 큼 나쁘다고 생각합니다.
여기에 내용이 누락되었거나 AuthLogic에서 암호화 된 암호를 수락 할 수있는 다른 방법이 있습니까?
참고로, 이것은 내가 valid_password?
방법을 쓰는가는 방법입니다
def valid_password?(password, check_from_database = nil)
if password == self.crypted_password
true
else
super(password, check_from_database)
end
end
'valid_password? '는 무엇을 위해 사용됩니까? – juanpastas
'valid_password? '는'verify_password_method'가 사용자가 올바른 암호를 입력했는지를 결정하기 위해 사용하는 기본 방법입니다. 'super'에 의해 호출되는 기본 메소드는 248 행에서 찾을 수 있습니다 : https://github.com/binarylogic/authlogic/blob/master/lib/authlogic/acts_as_authentic/password.rb 그래서 기본 구현은 일반 텍스트를 허용합니다 암호를 해시 된 암호와 비교합니다. –