feat: ️更新Spring Boot版本至2.7.18并重构安全配置

This commit is contained in:
Jie Zheng 2025-01-21 16:06:45 +08:00
parent 4a17176245
commit dd5a118ecc
5 changed files with 11 additions and 12 deletions

View File

@ -1,7 +1,7 @@
<h1 style="text-align: center">ELADMIN 后台管理系统</h1> <h1 style="text-align: center">ELADMIN 后台管理系统</h1>
#### 项目简介 #### 项目简介
一个基于 Spring Boot 2.6.6 、 Mybatis-Plus、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统 一个基于 Spring Boot 2.7.18 、 Mybatis-Plus、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统
**开发文档:** [https://eladmin.vip](https://eladmin.vip) **开发文档:** [https://eladmin.vip](https://eladmin.vip)

View File

@ -1,7 +1,7 @@
<h1 style="text-align: center">ELADMIN 后台管理系统</h1> <h1 style="text-align: center">ELADMIN 后台管理系统</h1>
#### 项目简介 #### 项目简介
一个基于 Spring Boot 2.6.6 、 Mybatis-Plus、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统 一个基于 Spring Boot 2.7.18 、 Mybatis-Plus、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统
**开发文档:** [https://eladmin.vip](https://eladmin.vip) **开发文档:** [https://eladmin.vip](https://eladmin.vip)

View File

@ -31,7 +31,7 @@ import java.sql.Timestamp;
/** /**
* 通用字段 is_del 根据需求自行添加 * 通用字段 is_del 根据需求自行添加
* @author Zheng Jie * @author Zheng Jie
* @Date 2019年10月24日20:46:32 * @date 2019年10月24日20:46:32
*/ */
@Getter @Getter
@Setter @Setter

View File

@ -26,12 +26,11 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.config.core.GrantedAuthorityDefaults;
import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.web.filter.CorsFilter; import org.springframework.web.filter.CorsFilter;
import java.util.*; import java.util.*;
@ -39,10 +38,9 @@ import java.util.*;
* @author Zheng Jie * @author Zheng Jie
*/ */
@Configuration @Configuration
@EnableWebSecurity
@RequiredArgsConstructor @RequiredArgsConstructor
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { public class SpringSecurityConfig {
private final TokenProvider tokenProvider; private final TokenProvider tokenProvider;
private final CorsFilter corsFilter; private final CorsFilter corsFilter;
@ -64,11 +62,11 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
return new BCryptPasswordEncoder(); return new BCryptPasswordEncoder();
} }
@Override @Bean
protected void configure(HttpSecurity httpSecurity) throws Exception { protected SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
// 获取匿名标记 // 获取匿名标记
Map<String, Set<String>> anonymousUrls = AnonTagUtils.getAnonymousUrl(applicationContext); Map<String, Set<String>> anonymousUrls = AnonTagUtils.getAnonymousUrl(applicationContext);
httpSecurity return httpSecurity
// 禁用 CSRF // 禁用 CSRF
.csrf().disable() .csrf().disable()
.addFilter(corsFilter) .addFilter(corsFilter)
@ -123,7 +121,8 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers(anonymousUrls.get(RequestMethodEnum.ALL.getType()).toArray(new String[0])).permitAll() .antMatchers(anonymousUrls.get(RequestMethodEnum.ALL.getType()).toArray(new String[0])).permitAll()
// 所有请求都需要认证 // 所有请求都需要认证
.anyRequest().authenticated() .anyRequest().authenticated()
.and().apply(securityConfigurerAdapter()); .and().apply(securityConfigurerAdapter())
.and().build();
} }
private TokenConfigurer securityConfigurerAdapter() { private TokenConfigurer securityConfigurerAdapter() {

View File

@ -23,7 +23,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version> <version>2.7.18</version>
</parent> </parent>
<properties> <properties>