加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在密码重置期间,Devise允许空密码

发布时间:2020-12-17 03:38:20 所属栏目:百科 来源:网络整理
导读:我有一个使用Devise的Rails 3.2应用程序设置.一切都很好,除了我重置密码(通过内置的路由和方法),Devise允许一个空密码.如果至少有一个字符,它将验证长度以及是否与确认匹配.我确实设置了用户帐户,他们可以在不输入密码的情况下更新他们的个人资料,但我认为这
我有一个使用Devise的Rails 3.2应用程序设置.一切都很好,除了我重置密码(通过内置的路由和方法),Devise允许一个空密码.如果至少有一个字符,它将验证长度以及是否与确认匹配.我确实设置了用户帐户,他们可以在不输入密码的情况下更新他们的个人资料,但我认为这与重置密码无关.

任何帮助表示赞赏.

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

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

解决方法

谢谢你指点我正确的方向.问题是由你所描述的引起的.但是,如果我让设计处理验证或使用相同的代码,用户必须在更新帐户时提供密码,即使他们已登录.要解决此问题,我只是在验证中检查了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

*更新我刚刚更新了这个以确保密码令牌没有过期.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读