Java动态分配角色权限_Spring Security 实战干货:动态权限控制(上)思路

本文介绍了在Spring Security中实现动态权限控制的思路,依赖RBAC模型,资源映射到角色,分析请求认证过程,并探讨如何结合安全框架进行动态权限控制。主要内容包括动态权限控制的需求、资源与角色的关系、请求认证流程和接口设计建议。
摘要由CSDN通过智能技术生成

7819707242ee95a7388f8d75b0af2d33.png

1. 前言

欢迎阅读 Spring Security 实战干货系列文章 。截止目前已经对 基于配置 和 基于注解 的角色访问控制进行了讲解。对于一些小项目来说基本是够用的。然而如果希望运营管理人员能够动态的配置和分配权限,以上两种方式显然是满足不了需求的。接下来我们来一起探讨一下思路。

2. 动态的权限控制同样依赖 RBAC 模型

我们依然应该在 RBAC 及其变种的基础上构建动态的权限控制系统。所有被访问的目标,无论是 API、静态资源都应该是关联了角色的东西统称为 资源(Resource)。我们需要建立起角色和资源之间的关系。

2.1 资源映射到角色

下面是一个资源到角色的映射关系图:

16ea70db8e36eaabbba6acc8d9e13729.png

模型大致如上所示,每一个资源对应一个可能无重复的角色集(Set 集合);你可以注意到一个细节 Role 1 既指向 Resource 1 又指向 Resource 2 中,这是可以理解的,毕竟有可能对同一资源的访问权可能分散到多个角色中去;当然也可以互斥这取决于你的业务。

我们选择资源映射到角色是因为当请求时,资源是唯一的而角色可能是多个,如果进行反转的话解析的效率低一些。

3. 请求认证过程

这里

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值