先理解业务问题
典型情景:平台接入多家公司,订单隔离关系尚未明确。这类问题的重点是让系统行为与业务责任一致。权限和订阅规则直接影响员工能否顺利办事,也决定企业资料是否会流向不该接触的人。先把允许的业务范围写清楚,才能同时兼顾效率、收费依据和管理责任。
原因与实施细节
优先验证的原因是:只在页面筛选租户,接口和导出未校验归属。不要仅凭现象认定根因,下面的证据应能支持或排除这一判断。为租户建立稳定编号,不让浏览器自由声明自己属于哪家公司。详情接口查到对象后仍要校验归属,导出任务及文件授权沿用发起人的租户范围。测试时从乙公司复制订单编号给甲公司账号,覆盖读、改、删和下载。
需要准备的排查证据
本题需要准备:两家测试企业的账号、订单编号和导出请求。选择一条正常样本和一条异常样本,保留相同业务对象的前后状态、操作时间与环境;内容涉及个人信息或凭据时先做必要脱敏。将“两家测试企业的账号”与最终业务结果关联,检查中间是否缺少记录。若样本无法相互对应,先补足关联信息,不急着修改生产数据;否则容易把两个不同事项当成同一个故障。
按这个顺序处理
建议的处理顺序是:把租户身份写入服务端上下文,查询和附件下载同时校验归属。首先完成“把租户身份写入服务端上下文”并记录依据,随后落实其余步骤,最后核对“查询和附件下载同时校验归属”的执行结果。每步都记录处理范围,遇到不符合预期的样本暂停扩大范围,先查明差异。
规则先由企业确认,再落到可解释的授权与状态控制。保留变更前后值及实际生效时间,便于管理员处理争议;不要为解决一个岗位例外给所有人永久高权限。
可以直接使用的验收情景
验收围绕“平台接入多家公司,订单隔离关系尚未明确”设置代表性样本,记录处理前的实际结果,再按相同条件验证处理后的流程。预期结果应写为“用甲企业账号访问乙企业订单、文件和统计接口均被拒绝”,并留下可复查的请求、记录或任务结果,不能只凭现场口头说已经正常。
验收至少用两种不同权限身份,并覆盖新登录、已有会话、正常请求和越界请求。允许项能完成业务,拒绝项没有敏感回显,两者都通过才算规则正确。
边界、交付与责任
需要说明的边界:租户隔离需要覆盖后台任务,不能仅靠菜单隐藏。交付时列出本次覆盖的系统、身份、数据范围及仍待确认的依赖。企业提供必要的业务口径与授权样本,开发方提交实施说明及验证证据;范围变化时重新确认影响和维护责任。
执行与验收清单
- 记录情景:平台接入多家公司,订单隔离关系尚未明确
- 核查原因:只在页面筛选租户,接口和导出未校验归属
- 备齐证据:两家测试企业的账号、订单编号和导出请求
- 执行处理:把租户身份写入服务端上下文,查询和附件下载同时校验归属
- 验收结果:用甲企业账号访问乙企业订单、文件和统计接口均被拒绝