RBAC / 权限 总览待审核
UI 层 · 菜单绑最低权限

UI 层:菜单/按钮绑权限,列表 query 带 scope

前端拿到最终生效集计算出的生效集后,按 Module / Resource / Action / Scope 决定是否展示、是否可点。 最常见的约定:每个菜单项绑定它要求的最低权限——用户没有就隐藏(或置灰); 列表请求把 scope 当 query 参数带上,让后端知道该返回哪些行。 选不同角色,观察菜单实时变化。

当前用户的角色

隐藏 (hide) 置灰 (disable)

侧边菜单(每项标注它要求的最低权限)

点「文章列表」时实际发出的请求(scope 来自生效权限)


    
UI 上的隐藏 / 置灰只是「体验」,不是「安全」。隐藏菜单、置灰按钮, 防住的只是误操作。任何人都能打开 devtools、直接 fetch('/api/...')。 所以真正的校验必须在 Server—— UI 做的判断 server 要独立再校验一遍。UI 权限是为了可用性,不是为了安全。

UI 层通常用到的判断