爆破专栏丨Spring Security系列教程之Spring Security的四种权限控制方式

本文详细讲解了Spring Security的四种权限控制方法:Ant表达式、授权注解结合SpEl、过滤器注解以及动态权限。通过实例代码展示了如何实现URL接口和方法级别的权限控制,提供更灵活的权限管理方案。

原创:一一哥

前言:

在前面的章节中,一一哥 已经给大家介绍了Spring Security的很多功能,在这些众多功能中,我们知道其核心功能其实就是认证+授权。

在前面我们分别基于内存模型、基于默认的数据库模型、基于自定义数据库模型实现了认证和授权功能,但是不管哪种方式,我们对某个接口的拦截限制,都是通过编写一个SecurityConfig配置类,在该类的configure (Http Security http)方法中,通过http. authorize Requests ( ). antMatchers ("/admin/**")…这样的代码进行的权限控制。

这种权限控制方法虽然也可以实现对某些接口的拦截或放行,但是不够灵活,其实Spring Security对接口的拦截或放行的写法,还有另外的方式,接下来请跟我学习一下吧!

一. 权限控制方式

在Spring Security 中,我们既可以使用 Spring Security 提供的默认方式进行授权,也可以进行自定义授权,总之在Spring Security中权限控制的实现方式是比较灵活多样的。在Spring Security 中,对接口的拦截或放行,有四种常见的权限控制方式:

利用Ant表达式实现权限控制;

利用授权注解结合SpEl表达式实现权限控制;

利用过滤器注解实现权限控制;

利用动态权限实现权限控制。

对上面说到的四种权限控制方式,我们接下来分别进行讲解实现。

二. 利用Ant表达式实现权限控制

利用Ant表达式的权限控制方式,是我们之前一直在使用的权限控制方式,在进行代码实现之前,我先对这种方式的底层实现进行简单分析。

1. Spring Security中的权限控制方法

在Spring Security中,有一个Security Expression Operations 接口,在该接口中定义了一系列的方法,用于用户权限的设置,如下图:
在这里插入图片描述

SecurityExpressionOperations接口中的

这些方法作用如下图所示:
在这里插入图片描述
在这里插入图片描述

2. Spring Security中的权限控制粒度

这个接口有一个SecurityExpressionRoot子类,该类提供了基于表达式的权限控制实现方式。而这个Secu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值