使用 rails 3.2.2 时,我使用的是 authlogic 3.0.0 。现在我已将rails版本更新为 5.1.4 。并且authlogic已升级为 4.0.1 。
现在我以前保存的所有密码都无法通过authlogic识别。 表示密码无效。所以我必须再次更新我的密码。什么是不可取的行为。我需要做哪些更改才能使我以前保存的密码再次在新的authlogic版本上运行。
任何帮助都将不胜感激。
答案 0 :(得分:0)
以下是我如何解决我的问题,
<强> 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