gpt4 book ai didi

ruby-on-rails - rails has_secure_password。是否可以更改数据库中的用户密码

转载 作者:行者123 更新时间:2023-12-04 02:19:28 25 4
gpt4 key购买 nike

我有一个带有has_secure_password 的用户授权的rails 项目。因此,密码存储在数据库中作为加密密码。

现在我想添加以下内容:
用户将能够将其当前密码更改为新密码,并且此新密码也必须在 DB 中加密。

我找不到任何关于它的信息。

有没有办法用 has_secure_password 做到这一点?

最佳答案

您可以在控制台中这样做:

user = User.find(1)
user.password = 'test123'
user.password_confirmation = 'test123'
user.save

因此,这将使用新密码更新用户。如果你想使用它 update_attributes然后:
user.update_attributes(password: 'test123', password_confirmation: 'test123')

这将更新加密形式的用户密码。你不需要做任何事情,因为 Rails 会在更新时处理它。

或者,如果您正在使用 strong parameters并且有:
def user_params
params.require(:user).permit(:password, :password_confirmation)
end

你在参数中有这个:
 Parameters: {"user"=>{"password"=>"test123", "password_confirmation"=>"test123"}}

那么你可以在你的更新操作中使用它:
user.update(user_params)

希望这可以帮助。

关于ruby-on-rails - rails has_secure_password。是否可以更改数据库中的用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31811400/

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