测试此密码对于当前登录用户是否正确

Fir*_*DoL 1 ruby-on-rails authlogic

我正在为使用以下字段构建的用户构建“更改密码”表单:

  • 旧密码
  • 新密码
  • 确认密码

我需要一种方法来检查当前登录的用户密码是否与“旧密码”字段相同,是否可以通过authlogic做到这一点?我找不到测试密码的方法。

Jes*_*ott 5

Authlogic是否具有有效密码?方法。请参阅:http : //rubydoc.info/github/binarylogic/authlogic/master/Authlogic/ActsAsAuthentic/Password/Methods/InstanceMethods#valid_password%3F-instance_method

所以你可以

if @user.valid_password?(params[:old_password])
  @user.password = params[:new_password]
  @user.password_confirmation = params[:new_password_confirmation]
end
Run Code Online (Sandbox Code Playgroud)

(或类似)