基本上正如问题所要求的那样。
状态的 AuthLogic 文档verify_password_method
:
模型中用于验证密码的方法的名称。这应该是一个实例方法。它还应该准备好接受原始密码和加密密码。
我想支持这一点,因为它允许我保持系统当前的伪装行为,而无需像过去那样存储纯文本密码。但是,在我看来,允许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