标准答案

  1. 认证在登录、令牌验证、服务身份或证书校验后建立主体身份;授权在每个敏感动作中判断该主体是否有相应能力。
  2. RBAC 将权限分配给角色,再把角色分配给用户,适合组织结构稳定、权限集合清晰的后台系统。
  3. ABAC 根据主体、资源、环境和动作属性做策略判断,适合租户、地域、时间、数据分级和临时授权等复杂条件。
  4. 资源归属校验验证用户是否能访问具体订单、项目、文件或租户数据,不能只因为拥有某个宽泛角色就默认放行。
  5. 服务端应默认拒绝、集中定义权限点,并在路由、服务层和数据访问层形成一致边界。

题目解析

RBAC 和 ABAC 可以组合:先用角色授予基础能力,再用属性和资源关系限制实际数据范围。

前端隐藏菜单只能改善体验,真正的授权必须在服务端完成,并覆盖直接请求、批量接口和异步任务。

常见误区

  • 把认证成功当成已经有所有资源权限。
  • 只检查角色,不校验资源所属租户、部门或创建者。
  • 把权限判断散落在控制器和前端,缺少统一策略和审计。

作者信息