标准答案
- 路由、菜单、权限点应尽量从统一配置或服务端能力模型生成。
- 前端可以按角色、权限点或策略控制菜单、按钮和路由可见性。
- 直接访问 URL 时仍要经过路由守卫和服务端接口校验。
- 权限配置要支持审计、测试和变更评审,避免散落硬编码。
- 空状态、无权限页面和权限变化后的刷新行为也要设计。
题目解析
权限工程化的核心是减少重复定义。菜单里写一套,路由里写一套,按钮里再写一套,迟早会出现显示和访问不一致。
前端权限只能改善用户体验,不能提供真正安全。按钮隐藏不代表接口安全,服务端仍必须校验。
大型系统还要考虑权限点命名、租户差异、灰度权限、缓存刷新和审计记录。
常见误区
- 只隐藏按钮,不做服务端权限校验。
- 菜单、路由和按钮权限各自维护,配置漂移。
- 没有处理无权限、权限变更和直接访问深层链接。