DEFENSIVE SIMULATOR · 虚构数据

一次入口检查,守不住后面的每个对象

先观察共享缓存怎样混淆身份,再比较批量接口“只看入口”和“逐对象决定”的结果。页面不会发送任何网络请求。

实验一

缓存键里有没有权限上下文?

固定资源为“蓝组预算摘要 TEST-BUDGET”。先用主管访问,再切换成员访问。

缓存策略
实际缓存键/api/summary缓存状态

等待请求

EMPTY

按顺序访问,观察第二位访问者得到的是重新授权后的结果,还是第一位访问者留下的响应。

实验二

批量接口是否逐对象授权?

访问者固定为“成员乙”,批次只含两条预建的虚构记录,不做枚举。

批量策略

等待处理

READY

选择策略后处理这两个对象,比较结果集合是否遵守对象归属。

缓存前先授权

缓存命中不能绕过当前身份的权限决定;键、内容与失效策略都要体现租户和权限差异。

批量逐项判断

“可以调用接口”不等于“可以访问批次中的每个对象”,结果要按对象过滤或明确拒绝。

记录理由,不记正文

日志保留主体、对象类型、脱敏标识、结果和理由码,不写令牌与敏感响应内容。