场景:
在某企业级用户管理系统中,管理员需要删除离职员工账户。要求实现以下安全控制:

  1. 删除前必须验证用户是否存在(避免误删不存在的测试账号)
  2. 需要通过用户ID+部门ID双重校验(防止跨部门误删)
  3. 当用户关联未完成的审批流程时禁止删除
  4. 删除操作需要记录审计日志
  5. 普通管理员只能删除本部门用户(数据权限控制)
    传统的sql解决方案,需要手动编写存在性校验,校验关联数据(需多个查询),然后执行删除(需事务控制),最后异常处理(需要在代码中实现)
    并且传统方案存在以下痛点:
  6. 需要手动维护多个SQL语句和事务控制
  7. 权限校验需要在代码层实现,容易遗漏
  8. 关联数据校验需要额外开发
  9. 删除失败时需自行处理返回逻辑
  10. 审计日志与删除操作需要耦合开发
    那么通过JVS低代码逻辑引擎的“删除数据组件”的可以配置化去解决的。
    删除数据组件
    删除数据组件默认是跳过数据权限,根据查询条件删除数据模型中的数据,当查询条件为空或查询不出数据则不执行删除操作,返回false
    配置说明
    进入逻辑设计器中,拖取删除数据组件,如下图
    图片
    点击组件,右侧展示组件具体配置信息
    图片
    ①:数据模型,选择当前应用下的模型名称
    ②:查询条件,选择具体字段进行赋值作为条件查询
    ③:ids,根据具体数据ids指定删除
    图片

图片
再执行一次测试,返回结果false,代表找不到这条数据已经被删除
图片
在线demo:https://frame.bctools.cn
基础框架开源地址:https://gitee.com/software-minister/jvs


软件部长
43 声望6 粉丝

软件研发行业老司机,提供些踩坑的经验而已