Pageplug/Appsmith如何重置管理员密码
最近在部署Pageplug项目的时候,不知道怎么把密码忘记了,怎么也登陆不上去,通过修改/stacks/configuration/docker.env文件添加了邮件服务,但无奈怎么也发不出重置邮件;幸好有Deepspeak和Chatgpt,多翻询问后,总算解决了,下面是步骤:
1.获取Pageplug/Appsmith主数据库的连接地址
在[label]/stacks/configuration/docker.env[/label]文件中的第60行,将[label]mongodb://appsmith:***@localhost:27017/appsmith[/label]复制出来,这就是[label]mongodb[/label]数据库的连接url
2.登陆容器,连接mongodb数据库
sudo docker exec -it pageplug6 bash mongo "mongodb://appsmith:L7HapFqpsSCE4@localhost:27017/appsmith"
更新密码
db.user.update({ email: "szlaoding@gmail.com" },{$set: {password: "$2b$12$WTrkHNtkUQcgPSZZDVzgpu.mFImnNlwKuBfcwiuvk/5MNdtjayxOS"}});
返回下面代码,即表示修改成功
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
-
nMatched: 1说明找到了 1 条匹配email: "szlaoding@gmail.com"的记录。 -
nModified: 1说明成功修改了该记录。 -
nUpserted: 0说明没有插入新记录(表示目标用户已经存在)。
3.验证密码是否修改成功
db.user.find({ email: "szlaoding@gmail.com" }).pretty(); #查看管理员szlaoding@gmail.com的数据库信息
在返回的代码中,看到密码的哈希值应该是[label]”$2b$12$WTrkHNtkUQcgPSZZDVzgpu.mFImnNlwKuBfcwiuvk/5MNdtjayxOS”[/label]
4.如何获取密码的哈希值
可以用Ptyhon或其他在线工具来获取,Python获取命令如下
import bcrypt password = b"abc123456" hashed_pw = bcrypt.hashpw(password, bcrypt.gensalt()) print(hashed_pw.decode())
运行后返回
$2b$12$WTrkHNtkUQcgPSZZDVzgpu.mFImnNlwKuBfcwiuvk/5MNdtjayxOS