权限验收
覆盖权限体系,测试对象含四模块:
角色定义验证:需匹配业务职责,如医疗系统中 “医师” 角色必含处方开具权限,“护士” 角色仅开放护理记录查看权限,无权限交叉冗余。
权限分配验证:检查用户与角色关联准确性,含多角色兼任场景。例如 “门店店长” 同时兼任 “财务审核员” 时,需确认其权限为两角色权限的正确聚合,无权限缺失或超范围。
功能级访问控制:验证界面元素可见性与可用性。如 “普通员工” 角色登录后,系统需隐藏 “部门架构修改” 按钮,且不可通过快捷键或 URL 跳转触发该功能。
数据级访问控制:确保数据查询受权限约束。如区域销售经理账号查询订单时,仅返回所属辖区(如 “华东区”)数据,无法获取 “华北区” 订单信息。
测试方法(越权测试)
垂直越权测试:低权限用户尝试高权限操作。
测试:以 “普通用户” 账号登录,手动输入管理员专属 URL(如 /system/admin/userManage),或通过 API 调用用户管理接口。
结果:系统立即返回 “权限不足(HTTP 403)” 提示,或重定向至登录页,无任何高权限功能加载。
水平越权测试:同角色用户间数据隔离验证。
测试:用户 A、B 同属 “客户经理” 角色,用户 A 在订单查询页抓取请求参数(如 orderId=10086),修改为用户 B 的订单 ID(orderId=10099)后重新发送请求。
结果:系统返回空数据集或 “无数据访问权限” 提示,不可返回用户 B 的订单详情。
工具与数据验证
测试工具:
Postman:构造 API 请求,模拟越权调用(如普通用户调用 /admin/deleteUser 接口);
Burp Suite:拦截前端请求,修改参数(如 userId、regionId),测试后端权限校验逻辑;
浏览器开发者工具:查看界面元素 DOM 结构,确认高权限按钮(如 “数据导出”)不仅隐藏,且未在 DOM 中保留可触发代码。
数据验证核心:需覆盖正常与异常场景,且必须同时校验前后端。
常见缺陷:前端隐藏 “员工删除” 按钮,但后端接口未做权限校验,通过 Postman 直接发送 delete 请求即可执行删除操作,此类缺陷需 100% 修复。
验收指标要求
权限覆盖率:100%,所有功能路径(含界面操作与 API 调用)均需完成权限验证;
越权漏洞数:0,不允许存在中高风险越权缺陷;
缺陷修复率:中高风险缺陷修复率 100%,且复验通过。