DEFENSIVE SIMULATOR · 虚构数据
一次入口检查,守不住后面的每个对象
先观察共享缓存怎样混淆身份,再比较批量接口“只看入口”和“逐对象决定”的结果。页面不会发送任何网络请求。
实验一
缓存键里有没有权限上下文?
固定资源为“蓝组预算摘要 TEST-BUDGET”。先用主管访问,再切换成员访问。
实际缓存键
/api/summary缓存状态空等待请求
EMPTY按顺序访问,观察第二位访问者得到的是重新授权后的结果,还是第一位访问者留下的响应。
实验二
批量接口是否逐对象授权?
访问者固定为“成员乙”,批次只含两条预建的虚构记录,不做枚举。
等待处理
READY选择策略后处理这两个对象,比较结果集合是否遵守对象归属。
缓存前先授权
缓存命中不能绕过当前身份的权限决定;键、内容与失效策略都要体现租户和权限差异。
批量逐项判断
“可以调用接口”不等于“可以访问批次中的每个对象”,结果要按对象过滤或明确拒绝。
记录理由,不记正文
日志保留主体、对象类型、脱敏标识、结果和理由码,不写令牌与敏感响应内容。