l***@163.com
l***@163.com
  • 发布:2025-05-01 09:39
  • 更新:2025-05-01 14:43
  • 阅读:176

【报Bug】uni-admin 可重复注册超级管理员

分类:uniCloud

产品分类: uniCloud/支付宝小程序云

操作步骤:

通过hbuilderx新建uni-admin项目就存在问题

预期结果:

限制只能新建一个超级管理员

实际结果:

可重复新建多个超级管理员

bug描述:

uni-admin 可重复注册超级管理员,排查发现uni_modules\uni-id-pages\uniCloud\cloudfunctions\uni-id-co\module\register\register-admin.js文件存在问题
注:uni-id-users数据库表中role字段为数组类型
问题代码片段

const getAdminRes = await userCollection.where({  
    role: 'admin'  // 数据库中role字段为['admin'],是数组类型,这样无法查询到相关数据  
  }).limit(1).get()

修复代码片段

const {  
  userCollection,  
  dbCmd  // 引入command  
} = require('../../common/constants')  
……  
……  
const getAdminRes = await userCollection.where({  
    role: dbCmd.in(['admin']) // fixed:改为按数组查询  
  }).limit(1).get()
2025-05-01 09:39 负责人:无 分享
已邀请:
l***@163.com

l***@163.com (作者)

支付宝云存在该问题,阿里云下 role: 'admin' 正常运行,麻烦修复下

要回复问题请先登录注册