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