我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring Security 多过滤链的使用详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring Security 多过滤链的使用详解

一、背景

在我们实际的开发过程中,有些时候可能存在这么一些情况,某些api 比如: /api @Configuration public class AppSecurityConfig { @Bean @Order(1) public SecurityFilterChain appSecurityFilterChain(HttpSecurity http) throws Exception { // 只处理 /api 开头的请求 return http.antMatcher("/api @Configuration public class WebSiteSecurityFilterChainConfig { @Bean @Order(2) public SecurityFilterChain webSiteSecurityFilterChain(HttpSecurity http) throws Exception { AuthenticationManagerBuilder authenticationManagerBuilder = http.getSharedObject(AuthenticationManagerBuilder.class); // 创建用户 authenticationManagerBuilder.inMemoryAuthentication() .withUser("admin") .password(new BCryptPasswordEncoder().encode("admin")) .authorities(AuthorityUtils.commaSeparatedStringToAuthorityList("ROLE_ADMIN")) .and() .withUser("dev") .password(new BCryptPasswordEncoder().encode("dev")) .authorities(AuthorityUtils.commaSeparatedStringToAuthorityList("ROLE_DEV")) .and() .passwordEncoder(new BCryptPasswordEncoder()); // 只处理 所有 开头的请求 return http.antMatcher(" @Bean public WebSecurityCustomizer webSecurityCustomizer( ){ return web -> web.ignoring() .antMatchers("jscss @Controller public class ResourceController { @GetMapping("/api/userInfo") @ResponseBody public Authentication showUserInfoApi() { return SecurityContextHolder.getContext().getAuthentication(); } @GetMapping("/index") public String index(Model model){ model.addAttribute("username","张三"); return "index"; } }

4、引入jar包


<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

五、实现效果

1、app 有权限访问 api

app 有权限访问 api

2、app 无权限访问 api

app 无权限访问 api

3、admin 用户有权限访问 网站 api

admin 用户有权限访问 网站 api

4、dev 用户无权限访问 网站 api

dev 用户无权限访问 网站 api

访问无权限的API直接跳转到 百度 首页。

六、完整代码

https://gitee.com/huan1993/Spring-Security/tree/master/multi-security-filter-chain

到此这篇关于Spring Security 多过滤链的使用详解的文章就介绍到这了,更多相关Spring Security 多过滤链 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring Security 多过滤链的使用详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spring Security过滤器链加载执行流程的示例分析

这篇文章主要介绍Spring Security过滤器链加载执行流程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Security实现原理Spring Security 采用 IoC 和 AOP
2023-06-22

一文详解Spring security框架的使用

Spring Security是一个基于Spring框架的安全认证和授权框架,它提供了一套全面的安全解决方案,可以在Web应用、移动应用和Web服务等不同场景下使用。本文就来详细聊聊它的使用吧
2023-03-23

Vue过滤器使用方法详解

过滤器的功能是对要显示的数据进行格式化后再显示,其并没有改变原本的数据,只是产生新的对应的数据,下面这篇文章主要给大家介绍了关于Vue中过滤器定义以及使用方法的相关资料,需要的朋友可以参考下
2022-12-15

详解使用Spring Security进行自动登录验证

在之前的博客使用SpringMVC创建Web工程并使用SpringSecurity进行权限控制的详细配置方法 中,我们描述了如何配置一个基于SpringMVC、SpringSecurity框架的网站系统。在这篇博客中,我们将继续描述如何使用
2023-05-31

一文详解Vue中过滤器filters的使用

Vue.js允许自定义过滤器,过滤器的作用可被用于一些常见的文本格式化(也就是修饰文本,但是文本内容不会改变),本文主要来和大家讲讲过滤器filters的使用,感兴趣的可以了解一下
2023-05-17

Spring Security中的权限注解如何使用

今天小编给大家分享一下Spring Security中的权限注解如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Spr
2023-06-30

SAP Hybris的链式过滤器filter chain怎么使用

这篇文章主要介绍“SAP Hybris的链式过滤器filter chain怎么使用”,在日常操作中,相信很多人在SAP Hybris的链式过滤器filter chain怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-06-04

spring kafka @KafkaListener详解与使用过程

这篇文章主要介绍了spring-kafka @KafkaListener详解与使用,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-02-20

热门标签

编程热搜

编程资源站

目录