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

发表回复

Your email address will not be published. Required fields are marked *.

*
*