1

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

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

我需要一种方法来检查当前登录的用户密码是否与“旧密码”字段相同,是否有可能使用 authlogic 执行此操作?我找不到测试密码的方法。

4

1 回答 1

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

(或类似的)

于 2012-06-19T20:09:12.097 回答