标准答案
- 认证在登录、令牌验证、服务身份或证书校验后建立主体身份;授权在每个敏感动作中判断该主体是否有相应能力。
- RBAC 将权限分配给角色,再把角色分配给用户,适合组织结构稳定、权限集合清晰的后台系统。
- ABAC 根据主体、资源、环境和动作属性做策略判断,适合租户、地域、时间、数据分级和临时授权等复杂条件。
- 资源归属校验验证用户是否能访问具体订单、项目、文件或租户数据,不能只因为拥有某个宽泛角色就默认放行。
- 服务端应默认拒绝、集中定义权限点,并在路由、服务层和数据访问层形成一致边界。
题目解析
RBAC 和 ABAC 可以组合:先用角色授予基础能力,再用属性和资源关系限制实际数据范围。
前端隐藏菜单只能改善体验,真正的授权必须在服务端完成,并覆盖直接请求、批量接口和异步任务。
常见误区
- 把认证成功当成已经有所有资源权限。
- 只检查角色,不校验资源所属租户、部门或创建者。
- 把权限判断散落在控制器和前端,缺少统一策略和审计。