
权限核对 · 分项说明
概念说明
权限核对是在动作执行前回答这一次是否被允许,判断依据只能是当时生效的规则和状态,不能是动作完成后的结果。若以成功与否反推授权,侥幸通过会被记成许可,条件变化后照做就会越界;若因一次失败就认定永远无权限,也会错过规则已更新的情况。正确做法是执行前记录所依据的规则条目与当时状态,执行后单独记录结果,两者分开核对。
判断方法
权限核对的判断方法,是固定对象、动作、执行身份和时段后重复同一请求,再逐项替换其中一个因素;若不做重复,临时凭证或会话变化造成的偶发拒绝会被误读为缺少许可,导致申请过宽的范围。先连续重放同一请求两次,结果不同就查时效与凭证;结果相同再只换身份、再只换对象,观察拒绝是否跟随某一因素。若结果随对象变化而动作不变,查对象条目;随动作变化而对象不变,查动作映射。
适用边界
权限核对的适用边界,是结论只说明授权层对本次请求的判定;业务规则、对象状态或参数校验造成的拒绝,外观可能相同,却不能据此改授权,否则会扩大本不该开放的入口。只有当拒绝确实来自授权判定、且请求中的对象与动作可辨识时,结论才成立。并发修改、共享执行身份或一次请求涉及多个对象时,返回的是组合结果,不能拆成逐项许可,也不能用来预测下一次请求。




读者评论
这个说法还是头一回听到,回头自己验证下是不是真这样。
感谢,之前一直卡在这一步,现在总算通了。
写得很实在,没有那种绕来绕去的废话,点赞。
感觉还得看个人习惯,照搬未必合适。
看完手痒,晚上回去就试试,回头来汇报效果。