用的挺顺手的springsecurity配置类,居然就要被官方弃用了?

author author     2023-04-23     558

关键词:

参考技术A

用过 WebSecurityConfigurerAdapter的都知道对 Spring Security 十分重要,总管 Spring Security 的配置体系。但是马上这个类要废了,你没有看错,这个类将在5.7版本被@Deprecated所标记了,未来这个类将被移除。

相关的issues已经被处理并关闭

对此对此网友大呼“学着学着就被弃用了”。既然马上要弃用了,总要有个过渡方案或者新玩法吧。

早在2021年3月份胖哥就写了一篇文章,把新玩法给明明白白说清楚了,如果你看了的话,肯定不会学废弃技术。这里把整套的替代方案再搞一遍,可别再学过时技术了。

旧玩法:

新玩法:

相关原理去看这一篇文章。

使用WebSecurity.ignoring()忽略某些URL请求,这些请求将被 Spring Security 忽略,这意味着这些URL将有受到 CSRF、XSS、Clickjacking 等攻击的可能。以下示例仅仅作为演示,请勿使用在生产环境。是不是又学到了呢?

旧玩法:

新玩法:

AuthenticationManager配置主要分为全局的(Global )、本地的(Local)。

旧玩法

上面是通过 WebSecurityConfigurerAdapter开启的是本地配置。开启全局配置需要覆写其authenticationManagerBean()方法并标记为Bean:

新玩法

本地配置通过 HttpSecurity.authenticationManager实现:

全局配置摆脱了依赖 WebSecurityConfigurerAdapter.authenticationManagerBean()方法,只需要定义一个AuthenticationManager类型的Bean即可:

当然还可以通过自定义 GlobalAuthenticationConfigurerAdapter并注入 Spring IoC 来修改 AuthenticationManagerBuilder,不限制数量,但是要注意有排序问题。相关的思维导图:

很多技术方案都不是直接更改的,是会有一个变化的过程,只要你紧追变化,其实也就没有变化。

springboot学习总结springsecurity配置

(一)配置类Springsecurity的配置和SpringMVC的配置类似,只需在一个配置类上注解@EnableWebSecurity(Springboot项目可以不用),并让这个类继承WebSecurityConfigurerAdapter。@Configuration@EnableWebSecuritypublicclassWebSecurityConfigextendsWebSecurityConfigurerA... 查看详情

springsecurity的基础使用(代码片段)

目录一.什么是springsecurity二.Springsecurity的使用1.创建springboot项目 2.主启动类2.配置controller层3.配置config类4.配置多用户登录以及注入权限及登录config注入5.配置config层6.登录成功处理类及无权限处理类7.配置工具类8.启动测试三.总... 查看详情

springsecurity基本配置(登录,注销,权限,记住我,注解)(代码片段)

SpringSecurity简介SpringSecurity特点:Shiro认识SpringSecuritySpringSecurity入门案例controller访问配置设置用户名和密码方式一通过配置文件方式二通过配置类方式三自定义编写实现类返回值UserDetails通过查询数据库设置账户密码权限依赖... 查看详情

使用springsecurity验证token

...证身份的,那就会走这个过滤器的校验流程。最后,附上springsecurity的配置类 查看详情

springsecurity的oauth2的授权服务器配置(代码片段)

OAUTH2概念里有资源服务器与授权服务器先看授权服务的配置通常,我们会写一个AuthorizationServerConfiguration类继承自AuthorizationServerConfigurerAdapter,并且在类上加@Configuration注解授权服务器的配置@Configuration@EnableAuthorizationServerpu... 查看详情

springsecurity基本知识(代码片段)

配置自定义的用户存储 我们在SecurityConfig的配置类中重写了configure(AuthenticationManagerBuilderauth)方法,我们可以通过 AuthenticationManagerBuilder这个构造器类使用不同的用户存储,如inMemoryAuthentication()基于内存的,jdbcAuthentication()基于... 查看详情

springsecurity---退出功能详解(代码片段)

SpringSecurity---退出功能详解logout退出登录默认的logout做了什么?个性化配置演示LogoutSuccessHandlerlogout退出登录其实使用SpringSecurity进行logout非常简单,只需要在springSecurity配置类配置项上加上这样一行代码:http.logout()。关于s... 查看详情

springsecurity对android客户端如何实现权限管理

服务端使用SpringSecurity3.X实现Web端的权限管理,可是如何同时实现对Android客户端的权限管理呢?新手,懂的不多,还望个各位不吝赐教。后台的东西无论是安卓,ios都差不多的,如果后台用的是Spring+springmvc+hibernate架构的话,先... 查看详情

springsecurity认证详解(代码片段)

文章目录自定义认证逻辑案例相关API介绍UserDetailsService自定义逻辑PasswordEncoder密码编码器接口代码实现编写配置类编写认证服务实现类代码测试自定义页面案例自定义登录页面编写登录页面修改配置类编写控制器认证过程其他常... 查看详情

使用springsecurity体验oauth2(入门2)

  本文继续使用SpringSecurity从实战角度对OAuth2进行体验,上一篇 搭建了项目环境,并对配置做了初步分析,分析发现会有两套配置可能在影响OAuth,一个是由授权服务的启动类上的注解@EnableAuthorizationServer引出的,另一个则... 查看详情

springsecurity

SpringSecurity(三)个性化用户认证流程自定义登录页面在配置类中指定登录页面和接收登录的url@ConfigurationpublicclassBrowserSecurityConfigextendsWebSecurityConfigurerAdapter{@BeanpublicPasswordEncoderpasswordEncoder(){returnnewMyPasswordEn 查看详情

springsecurity

SpringMVC的安全认证先创建一个继承自WebSecurityConfigurerAdapter的配置类,标识为@Configuration和@EnableWebSecurity注解,进行SpringMVC安全验证设置,默认不做什么自定义配置,即可以在访问接口等资源时返回一个登陆页让输入账号密码(启... 查看详情

springboot+springsecurity设置默认密码的三种方式

参考技术A1)、yml格式:2)、properties格式:1)、编写一个类继承WebSecurityConfigurerAdapter抽象类2)、重写configure(AuthenticationManagerBuilderauth)方法设置用户名和密码1)、编写配置类2)、编写实现类实现UserDetailsService,重写loadUserByUser... 查看详情

springsecurity的配置(代码片段)

一、SpringSecurity的功能简单介绍(1)简介SpringSecurity是针对Spring项目的安全框架,也是SpringBoot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入spring-boot-starter-s... 查看详情

springsecurity自动装配(代码片段)

1、自动装配的配置类org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration        //自动装配类注册DefaultAuthenticationEventPublisherorg.springframework.boot.autoconfigure.security.SecurityP 查看详情

springsecurity---认证+授权代码实现

认证+授权代码实现SpringSecurity是一种基于SpringAOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。有关认证和授权的理论知识,之前有写过相关博客。了解权限管理... 查看详情

springsecurity

SpringSecuritySpring家族的安全管理框架,竞品是Shiro。虽然Security功能比Shiro强大,但SpringBoot出现之前,Security的整合比较麻烦,使得大部分项目选择使用Shiro。SpringBoot对于SpringSecurity提供了自动化配置方案,常常配合使用。Bcrypt加... 查看详情

springsecurity的oauth2的授权服务器配置(代码片段)

OAUTH2概念里有资源服务器与授权服务器先看授权服务的配置通常,我们会写一个AuthorizationServerConfiguration类继承自AuthorizationServerConfigurerAdapter,并且在类上加@Configuration注解授权服务器的配置@Configuration@EnableAuthorizationServerpu... 查看详情