
权限核对 · 分项说明
概念说明
权限核对是把一次具体请求中的发起者、动作、对象和发生条件,与一条可读的许可范围逐项对齐的核对;只有四项都能在条款中找到对应,才可执行,缺项就记为待核。它不判断账号等级高低,也不把入口可见当成已获许可。逐项授权的场景要核对到单个对象,按范围授权的场景还要确认该对象确实落在范围内,不能用范围标签覆盖未列明的对象。
判断方法
权限核对的判断方法,是把一次复合操作按子动作拆开,再分别重放并记录实际到达授权层的请求,靠拆分后结果是否变化、每次只改一个因素来成立。先取一个包含多个步骤的可回退测试请求,记录整体返回;再按读取或修改等子动作分别执行,比较整体结果与单项结果。若整体失败而各子动作分别通过,问题在请求组合或前置条件;若只有一个子动作失败,把核对范围缩到该子动作,分别换对象和换动作再试,形成同动作不同对象、同对象不同动作的对照。若对照稳定跟随对象或动作变化,再查对应授权条目;若拆分后失败现象消失,不要把它归为缺少许可。每一步在可回退对象上做,不拿生产身份试探。
适用边界
权限核对的结论只对实际到达授权层的那次请求有效,且只在请求可重复、判定时点可记录时适用。它不用于判断多条授权规则同时命中时的优先级:当允许项与更具体的拒绝项并存,返回结果是最终判定,不能据此推断哪条规则胜出。唐伯虎+体操服+戴眼罩。它也不能说明默认策略的作用:若系统同时存在默认允许和默认拒绝,未命中显式条目时的结果取决于默认值,不记录默认状态就无法区分“未授予”与“被默认拒绝”。角色模板、继承和排除项组合出的许可,不能从一个对象的核对结果外推到同模板的其他对象或其他动作;代理执行、身份映射、条件授权或一次性凭证下,结论只绑定本次执行身份和本时段,不能整理成身份权限清单,也不能用于评价授权设计或预测未来请求。



读者评论
道理我都懂,可手感这东西真得自己试,别人说啥都白搭。
手边正好闲着,跟着弄了一下,居然有效。
谢了,刚好今晚有空,慢慢倒腾一下。
没太看懂中间那部分,是我理解能力的问题吗。
之前一直瞎弄,原来是我把顺序搞反了。