Redmine中用户密码丢失后,可以通过以下方式初始化。
require "digest/sha1"
class User
@@salt = 0
@@hashed_password = 0
# Return password digest
def self.hash_password(clear_password)
Digest::SHA1.hexdigest(clear_password || "")
end
def self.salt_password(clear_password)
# salt是redmine数据库中user表中的salt项的值,请自行替换成你自己的
salt = "c917b9a125225ee8a9dd64b7170a1cf0"
hashed_password = User.hash_password("#{salt}#{User.hash_password clear_password}")
puts hashed_password
end
end
User.salt_password "hello"
运行以上代码后输出的结果,用于直接更新redmine数据库中user表的password项。
然后,再在前台页面输入明文的密码就可以正常登录了。