
1) 【一句话结论】需验证教师与管理员的角色权限隔离性,确保教师仅能批改/查看本班学生作业,管理员能查看所有班级作业,且教师尝试越权(如访问其他班级)时系统有效拦截,保障数据安全。
2) 【原理/概念讲解】角色权限隔离是系统安全的核心机制,通过RBAC(基于角色的访问控制)模型实现。系统为用户分配角色(教师、管理员),角色绑定具体权限(教师:本班作业的查看/批改权限;管理员:所有班级作业的查看权限)。权限检查流程通常在请求处理时,通过中间件或数据库查询角色-权限表,结合用户绑定的班级信息,判断操作是否合法。类比:学校中,班主任(教师角色)仅能管理本班学生的作业成绩(对应本班作业),校长(管理员角色)可统筹全校所有班级的作业情况(对应所有班级作业)。若教师尝试查看其他班级的作业,相当于越权操作,系统应通过权限检查拦截,防止数据泄露。
3) 【对比与适用场景】
| 角色 | 权限定义 | 核心功能 | 测试重点 |
|---|---|---|---|
| 教师 | 仅能查看/批改本班级学生作业 | 批改作业、查看成绩 | 正常访问(本班)、越权访问(其他班级) |
| 管理员 | 可查看所有班级学生作业 | 统计分析、全局管理 | 正常访问(所有班级)、管理员权限配置正确性 |
4) 【示例】
教师越权测试(API):
GET /api/assignments?classId=2 HTTP/1.1
Host: xueqiu.com
Authorization: Bearer teacher_token
请求体中明确包含班级标识(classId=2),预期响应:403 Forbidden,错误信息“无权限查看其他班级(2班)的作业”。
前端交互测试(教师点击其他班级链接):
步骤:教师登录后,点击页面中“2班”的作业列表链接(教师绑定1班)。
预期结果:页面跳转至错误页面(如403页面),或链接变为禁用状态(样式变灰),且API返回的403错误信息与前端提示一致。
管理员正常测试(API):
GET /api/assignments?all=true HTTP/1.1
Host: xueqiu.com
Authorization: Bearer admin_token
预期响应:200 OK,返回包含所有班级(1班、2班等)的作业数据,数据完整且无过滤。
5) 【面试口播版答案】(约90秒)
“面试官您好,我来设计测试用例验证角色权限隔离性。核心目标是确保教师只能操作本班作业,管理员能查看所有班级,同时测试越权。具体来说:
6) 【追问清单】
7) 【常见坑/雷区】