gpt4 book ai didi

jquery - 如何使用 authlogic 和 jQuery 验证插件验证密码?

转载 作者:行者123 更新时间:2023-12-01 08:16:13 26 4
gpt4 key购买 nike

我使用 jQuery Validation 插件进行验证,使用 remote: "/valid_password.json" 在服务器上检查提交的密码是否正确。问题是在服务器上密码是加密的(使用Authlogic),所以当我将密码参数与存储的密码进行比较时,它们不一样。如何使用 JQuery 验证插件验证密码?

这是 Controller 中的代码:

def valid_password
username = params[:user_session][:username]
password = params[:user_session][:password]
@user = User.find_by_username(username)
if @user.password == password
@password_ok = true
end
respond_to do |format|
format.json { render :json => @password_ok ? "true" : "false"}
end
end

编辑:搜索和阅读后,我尝试过:(仍然没有成功)

def valid_password
username = params[:username]
password = params[:user_session][:password]
@user = User.find_by_username(username)
puts "TEST" + @user.crypted_password
@password = Authlogic::CryptoProviders::Sha512.encrypt(password)
puts "TEST" + @password
if @password == @user.crypted_password
@password_ok = true
end

respond_to do |format|
format.json { render :json => @password_ok ? "true" : "false"}
end
end

两个 puts 方法给出不同的结果。我想我应该使用存储的password_salt来获得正确的加密,但我不知道如何。最初我使用了错误的“用户名”参数,但现在已修复。

最佳答案

现在可以了!

在加密之前我必须将password_salt添加到密码中:

def valid_password
username = params[:username]
password = params[:user_session][:password]
@user = User.find_by_username(username)
password = "#{password}#{@user.password_salt}"
@password = Authlogic::CryptoProviders::Sha512.encrypt(password)
if @password == @user.crypted_password
@password_ok = true
end

respond_to do |format|
format.json { render :json => @password_ok ? "true" : "false"}
end
end

关于jquery - 如何使用 authlogic 和 jQuery 验证插件验证密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574918/

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