最后在部署Pageplug项目的时候,不知道怎么把密码忘记了,怎么也登陆不上去,通过修改/stacks/configuration/docker.env文件添加了邮件服务,但无奈怎么也发不出重置邮件;幸好有Deepspeak和Chatgpt,多翻询问后,总算解决了,下面是步骤:
1.获取Pageplug/Appsmith主数据库的连接地址
在/stacks/configuration/docker.env文件中的第60行,将mongodb://appsmith:***@localhost:27017/appsmith复制出来,这就是mongodb数据库的连接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的数据库信息
在返回的代码中,看到密码的哈希值应该是“$2b$12$WTrkHNtkUQcgPSZZDVzgpu.mFImnNlwKuBfcwiuvk/5MNdtjayxOS”
4.如何获取密码的哈希值
可以用Ptyhon或其他在线工具来获取,Python获取命令如下
import bcrypt password = b"sgh810312" hashed_pw = bcrypt.hashpw(password, bcrypt.gensalt()) print(hashed_pw.decode())
运行后返回
$2b$12$WTrkHNtkUQcgPSZZDVzgpu.mFImnNlwKuBfcwiuvk/5MNdtjayxOS