更新 authlogic 不识别以前的旧密码
updating authlogic not recognizing old previous passwords
我在使用 rails 3.2.2 时使用 authlogic 3.0.0。现在我已经将 rails 版本更新为 5.1.4。并将 authlogic 升级到 4.0.1.
现在我之前保存的所有密码都无法被 authlogic 识别。 它说密码无效。所以我必须再次更新我的密码。这不是理想的行为。我需要做哪些更改才能使我之前保存的密码在新的 authlogic 版本上再次起作用。
如有任何帮助,我们将不胜感激。
这是我解决问题的方法,
User.rb
acts_as_authentic do |c|
c.crypto_provider = Authlogic::CryptoProviders::Sha512
end
在 3.4.0 版本中,默认 crypto_provider 由 Sha512 更改为 SCrypt。
如果您从未设置 crypto_provider 并且正在升级,除非您设置原始密码,否则您的密码将被破解:
c.crypto_provider = Authlogic::CryptoProviders::Sha512
如果您想在用户登录时自动从 Sha512 升级到 SCrypt:
c.transition_from_crypto_providers = [Authlogic::CryptoProviders::Sha512]
c.crypto_provider = Authlogic::CryptoProviders::SCrypt
我在使用 rails 3.2.2 时使用 authlogic 3.0.0。现在我已经将 rails 版本更新为 5.1.4。并将 authlogic 升级到 4.0.1.
现在我之前保存的所有密码都无法被 authlogic 识别。 它说密码无效。所以我必须再次更新我的密码。这不是理想的行为。我需要做哪些更改才能使我之前保存的密码在新的 authlogic 版本上再次起作用。
如有任何帮助,我们将不胜感激。
这是我解决问题的方法,
User.rb
acts_as_authentic do |c|
c.crypto_provider = Authlogic::CryptoProviders::Sha512
end
在 3.4.0 版本中,默认 crypto_provider 由 Sha512 更改为 SCrypt。
如果您从未设置 crypto_provider 并且正在升级,除非您设置原始密码,否则您的密码将被破解:
c.crypto_provider = Authlogic::CryptoProviders::Sha512
如果您想在用户登录时自动从 Sha512 升级到 SCrypt:
c.transition_from_crypto_providers = [Authlogic::CryptoProviders::Sha512]
c.crypto_provider = Authlogic::CryptoProviders::SCrypt