gpt4 book ai didi

ruby-on-rails - 在密码重置期间设计允许空白密码

转载 作者:行者123 更新时间:2023-12-03 15:59:44 24 4
gpt4 key购买 nike

我有一个带有 Devise 的 Rails 3.2 应用程序设置。一切都很好,除了当我重置密码时(通过内置的路由和方法),Devise 允许使用空白密码。它将验证长度,如果它匹配确认,如果至少有一个字符。我确实在用户帐户中设置了他们可以在不输入密码的情况下更新他们的个人资料,但我认为这与重置密码没有任何关系。

任何帮助表示赞赏。

devise.rb -> http://pastie.org/3911178

user.rb -> http://pastie.org/3911187

最佳答案

感谢您为我指明正确的方向。问题是由您描述的内容引起的。但是,如果我让 devise 处理验证或使用他们所做的相同代码,则即使在用户登录后更新他们的帐户时也必须提供密码。为了解决这个问题,我只是在验证中检查了 rest_password_token:

def password_required?
# If resetting the password
return true if reset_password_token.present? && reset_password_period_valid?

# If the person already has a pass, only validate if they are updating pass
if !encrypted_password.blank?
password.present? || password_confirmation.present?
end
end

*更新
我刚刚更新了这个以确保密码 token 没有过期。

关于ruby-on-rails - 在密码重置期间设计允许空白密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com