Spring Security 如何实现权限粒度的细致化管理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3123个文字,预计阅读时间需要13分钟。
小伴侣展示微人事(https://github.com/lenve/vhr)的权限粒度不够细致。不过简单地说,技术都是相通的,明白了vhr中权限管理的原理,在此基础上就可以去细化权限管理粒度,细化管理过程。”
有小伙伴表示微人事(github.com/lenve/vhr)的权限粒度不够细。不过松哥想说的是,技术都是相通的,明白了 vhr 中权限管理的原理,在此基础上就可以去细化权限管理粒度,细化过程和还是用的 vhr 中用的技术,只不过设计层面重新规划而已。
当然今天我想说的并不是这个话题,主要是想和大家聊一聊 Spring Security 中权限管理粒度细化的问题。因为这个问题会涉及到不同的权限管理模型,今天和小伙伴们聊一聊~
1.权限管理模型
要想将细化权限粒度,我们不可避免会涉及到一些权限模型,例如 ACL、RBAC、DAC、MAC 以及 ABAC、PBAC 等。
在这些众多的权限模型中,我们使用较多的是 RBAC,ACL 也有一些项目在使用,另外几种则使用相对较少。因此松哥这里重点和大家介绍 ACL 和 RBAC。
1.1 ACL
ACL 是一种比较古老的权限控制模型。英文全称是 Access Control List,中文称作访问控制列表,这是一种面向资源的访问控制模型,所有的权限配置都是针对资源的。
它的原理是这样:
对于系统中的每一个资源,都会配置一个访问列表,这个列表中记录了用户/角色对于资源的 CURD 权限,当系统需要访问这些资源时,会首先检查列表中是否存在当前用户的访问权限,进而确定当前用户是否可以执行相应的操作。
ACL 的使用非常简单,搞明白它的原理自己分分钟就能实现。
本文共计3123个文字,预计阅读时间需要13分钟。
小伴侣展示微人事(https://github.com/lenve/vhr)的权限粒度不够细致。不过简单地说,技术都是相通的,明白了vhr中权限管理的原理,在此基础上就可以去细化权限管理粒度,细化管理过程。”
有小伙伴表示微人事(github.com/lenve/vhr)的权限粒度不够细。不过松哥想说的是,技术都是相通的,明白了 vhr 中权限管理的原理,在此基础上就可以去细化权限管理粒度,细化过程和还是用的 vhr 中用的技术,只不过设计层面重新规划而已。
当然今天我想说的并不是这个话题,主要是想和大家聊一聊 Spring Security 中权限管理粒度细化的问题。因为这个问题会涉及到不同的权限管理模型,今天和小伙伴们聊一聊~
1.权限管理模型
要想将细化权限粒度,我们不可避免会涉及到一些权限模型,例如 ACL、RBAC、DAC、MAC 以及 ABAC、PBAC 等。
在这些众多的权限模型中,我们使用较多的是 RBAC,ACL 也有一些项目在使用,另外几种则使用相对较少。因此松哥这里重点和大家介绍 ACL 和 RBAC。
1.1 ACL
ACL 是一种比较古老的权限控制模型。英文全称是 Access Control List,中文称作访问控制列表,这是一种面向资源的访问控制模型,所有的权限配置都是针对资源的。
它的原理是这样:
对于系统中的每一个资源,都会配置一个访问列表,这个列表中记录了用户/角色对于资源的 CURD 权限,当系统需要访问这些资源时,会首先检查列表中是否存在当前用户的访问权限,进而确定当前用户是否可以执行相应的操作。
ACL 的使用非常简单,搞明白它的原理自己分分钟就能实现。

