RBAC,全称为 Role-Based Access Control,翻译过来叫基于角色的访问控制,通过将用户分配到不同的角色,并为角色分配权限,从而实现对资源的访问控制。
那如何实现 RBAC 呢?派聪明用的是 Spring Security。Spring Security 本质上是一个基于 Filter 的安全框架。当请求进入应用时,会经过一系列安全过滤器链,每个过滤器负责不同的安全功能,比如认证、授权、CSRF 防护等。
Spring Security 主要解决了两大核心问题:认证(Authentication)和授权(Authorization)。认证就是验证“你是谁”,比如用户登录时验证用户名密码是否正确;授权就是验证“你能做什么”,比如检查用户是否有权限访问某个页面或调用某个接口。
本篇教程将详细介绍如何基于 Spring Security 实现 RBAC,包括用户注册、登录、JWT 认证、请求拦截与授权等核心流程。
一、RBAC 的核心概念
RBAC 的核心思想是给用户赋予某些角色,而每个角色拥有某些权限。等于说,一个权限可以分配给多个角色,一个角色可以拥有多个权限,同样一个用户可以分配多个角色,一个角色也可以对应多个用户,对应模型如下所示:
对于派聪明来说,每个公司都有自己的组织架构,比如公司里管理知识库的人员有王老板和毕小三等,王老板不仅拥有毕小三的权限,也拥有李四眼的权限,像这种管理关系向下兼容的模式就需要用到角色继承的 RBAC 模型。角色继承的 RBAC 模型的思路是上层角色继承下层角色的所有权限,并且可以额外拥有其他权限。
在派...
热门评论
18 条评论
回复