当前位置: 首页 > news >正文

Yapi中通过MongoDB修改管理员密码与新增管理员

如何在Docker部署的Yapi中通过MongoDB修改管理员密码与新增管理员

便捷管理Yapi权限:无需前端重置,直接通过数据库操作修改密码及添加管理员


在这里插入图片描述

一、进入MongoDB容器并连接数据库

首先,通过以下命令进入运行中的MongoDB容器:

docker exec -it mongo bash

接着使用管理员账户连接MongoDB(请将<pass>替换为你的实际密码):

mongosh -u admin -p <pass>

image-202508221125296


二、定位Yapi数据库并查看用户信息

连接数据库后,查看所有数据库,并切换到yapi数据库:

show dbs
use yapi

image-202508221206913

查看yapi数据库中的用户集合:

db.user.find()

image-202508221208517

这里可以看到所有用户的详细信息,包括用户名、邮箱、用户ID以及加密后的密码和盐值。


三、修改管理员密码

Yapi的用户密码是经过加密存储的,修改时需要同时更新passwordpasssalt字段。

例如,要将用户ID为11的账户密码改为1234qwer!@#$,这个密码对应的加密值和盐值为:

  • "password" : "224179069e921d923a2059de27d60ab2cb58cc4f"
  • "passsalt" : "w4byep62al"

以尝试用Ldap同步的用户信息修改,无法登录故使用固定信息修改后进行调整

执行以下更新操作:

db.user.update( {_id: 11},{ $set: {password: '224179069e921d923a2059de27d60ab2cb58cc4f', passsalt: 'w4byep62al'}}
)

说明:你可以使用已知密码的加密信息,或者通过其他方式生成新的加密密码和盐值对。

更新成功后,即可使用新密码1234qwer!@#$登录Yapi,之后可以在系统中再次修改密码。

image-20250822140921498


四、添加管理员账户

如果需要将现有普通用户提升为管理员,首先查询相应用户的ID:

sql

db.user.find()

image-20250822141719688

找到对应用户的ID后,通过以下命令修改用户角色(例如将用户ID为177的用户设为管理员):

sql

db.getCollection("user").update({"_id": 177},{$set: {"role": "admin"}}
)

总结

通过直接操作MongoDB数据库,我们可以高效地管理Yapi的用户权限,包括重置密码和添加管理员。这种方法适用于忘记管理员密码或需要批量修改用户权限的场景。

注意事项

  • 操作数据库前建议备份数据,避免误操作导致数据丢失
  • 修改密码时需确保使用正确的加密密码和盐值对
  • 更改用户角色后,建议验证用户权限是否生效

这种方法为Yapi系统管理提供了另一种灵活可靠的权限管理途径,特别适用于Docker部署环境下的管理操作。

http://www.xdnf.cn/news/1346347.html

相关文章:

  • 【Java后端】 Spring Boot 集成 Redis 全攻略
  • 软件设计师——计算机网络学习笔记
  • 华为网路设备学习-29(BGP协议 四)路由策略-实验
  • 分段渲染加载页面
  • 【LeetCode 热题 100】139. 单词拆分——(解法一)记忆化搜索
  • 浏览器开发CEFSharp+X86+win7(十三)之Vue架构自动化——仙盟创梦IDE
  • STM32F1 EXTI介绍及应用
  • 光耦合器:电子世界的 “光桥梁“
  • ZYNQ启动流程——ZYNQ学习笔记11
  • X00238-非GNSS无人机RGB图像卫星图像视觉定位python
  • 25年8月通信基础知识补充1:中断概率与遍历容量、Sionna通信系统开源库、各种时延区分
  • Android 16环境开发的一些记录
  • Prometheus+Grafana监控redis
  • 制造企业用档案宝,档案清晰可查
  • 81 柔性数组造成的一些奇怪情况
  • 农业-学习记录
  • 关于 WebDriver Manager (自动管理浏览器驱动)
  • 当下一次攻击发生前:微隔离如何守护高敏数据,防范勒索攻击下的数据泄露风险!
  • 一、Python IDLE安装(python官网下的环境安装)
  • 腾讯云EdgeOne安全防护:快速上手,全面抵御Web攻击
  • Datawhale AI夏令营---coze空间共学
  • 【图像算法 - 21】慧眼识虫:基于深度学习与OpenCV的农田害虫智能识别系统
  • 关于日本服务器的三种线路讲解
  • 在自动驾驶中ESKF实现GINS时,是否将重力g作为变量考虑进去的目的是什么?
  • ASPICE过程能力确定——度量框架
  • Unity--判断一个点是否在扇形区域里面(点乘和叉乘的应用)
  • 视觉语言大模型应用开发——基于 CLIP、Gemini 与 Qwen2.5-VL 的视频理解内容审核全流程实现
  • ref 简单讲解
  • flutter geolocator Android国内定位失败问题解决
  • JVM 调优全流程案例:从频繁 Full GC 到百万 QPS 的实战蜕变