基于角色的权限控制(Role Based Access Control)
2025年10月29日大约 3 分钟
基于角色的权限控制(Role Based Access Control)
角色权限控制(RBAC)是一种基于角色的权限控制方式,它将用户分配给不同的角色,每个角色都有一组权限,用户只能访问自己角色所拥有的权限。
角色
角色是权限控制中的核心概念,它表示一组权限。
权限
权限是角色所拥有的权限,它表示用户可以执行的操作。
菜单权限(查看权限)
菜单权限表示用户可以查看的菜单。
接口权限(操作权限)
在前端来看表示用户可以点击哪些按钮进行操作,在后端来看表示用户可以访问哪些接口进行操作。
E-R 模型

前端菜单,按钮控制
前端的权限控制,是前端根据权限控制,控制菜单和按钮的显示,可以参考:
后端接口权限控制
前端的权限控制始终是只能控制菜单和按钮的显示,不能控制接口的访问。如果是懂一些前端的可以研究一下,来通过一些操作把按钮或者菜单给显示出来,这时候如果后端没有做严格的控制,那就很危险了。
框架已经提供了权限控制。
开放模式(默认)
意思就是说
- 如果有一个新接口,他没有被配置给任何角色,那么这个接口就是默认是开放的,任何角色都可以访问。
- 如果配置给了角色,那么只有被配置的角色才能访问。
- 顶级角色可以访问所有接口。
taybct:
secure:
allow-when-no-match: true封闭模式
- 反之,如果一个接口没有被配置给任何角色,那么这个接口就是默认是封闭的,任何角色都不可以访问。
- 如果配置给了角色,那么只有被配置的角色才能访问。
- 顶级角色可以访问所有接口。
taybct:
secure:
allow-when-no-match: false注意注意!
安全考虑,如果用于生产环境,请务必不要将顶级角色开放出去,或者直接把顶级角色给禁用掉。
尝试一下
示例]
贡献者
Mango Crisp