From 0edf43c78e988f3afe9539dad1bdec3fe422ee52 Mon Sep 17 00:00:00 2001 From: Jie Zheng <201507802@qq.com> Date: Tue, 21 Jan 2025 16:00:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=EF=B8=8F=E6=9B=B4=E6=96=B0Spr?= =?UTF-8?q?ing=20Boot=E7=89=88=E6=9C=AC=E8=87=B32.7.18=E5=B9=B6=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E5=AE=89=E5=85=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../main/java/me/zhengjie/base/BaseEntity.java | 2 +- .../security/config/SpringSecurityConfig.java | 16 +++++++--------- pom.xml | 3 ++- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 615ec89d..066e050b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ #### 项目简介 -一个基于 Spring Boot 2.6.4 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统 +一个基于 Spring Boot 2.7.18 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统 现已发布基于 mybatis-plus 版本,项目地址:[https://github.com/elunez/eladmin-mp](https://github.com/elunez/eladmin-mp)、[https://gitee.com/elunez/eladmin-mp](https://gitee.com/elunez/eladmin-mp)。 diff --git a/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java b/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java index a774e036..7f5a0d9f 100644 --- a/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java +++ b/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java @@ -35,7 +35,7 @@ import java.sql.Timestamp; /** * 通用字段, is_del 根据需求自行添加 * @author Zheng Jie - * @Date 2019年10月24日20:46:32 + * @date 2019年10月24日20:46:32 */ @Getter @Setter diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java index 1aaeacc4..f085281b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java @@ -18,7 +18,6 @@ package me.zhengjie.modules.security.config; import lombok.RequiredArgsConstructor; import me.zhengjie.modules.security.security.*; import me.zhengjie.modules.security.service.OnlineUserService; -import me.zhengjie.modules.security.service.UserCacheManager; import me.zhengjie.utils.AnonTagUtils; import me.zhengjie.utils.enums.RequestMethodEnum; import org.springframework.context.ApplicationContext; @@ -27,12 +26,11 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; 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.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.web.filter.CorsFilter; import java.util.*; @@ -40,10 +38,9 @@ import java.util.*; * @author Zheng Jie */ @Configuration -@EnableWebSecurity @RequiredArgsConstructor @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) -public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { +public class SpringSecurityConfig { private final TokenProvider tokenProvider; private final CorsFilter corsFilter; @@ -65,11 +62,11 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { return new BCryptPasswordEncoder(); } - @Override - protected void configure(HttpSecurity httpSecurity) throws Exception { + @Bean + protected SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { // 获取匿名标记 Map> anonymousUrls = AnonTagUtils.getAnonymousUrl(applicationContext); - httpSecurity + return httpSecurity // 禁用 CSRF .csrf().disable() .addFilter(corsFilter) @@ -124,7 +121,8 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { .antMatchers(anonymousUrls.get(RequestMethodEnum.ALL.getType()).toArray(new String[0])).permitAll() // 所有请求都需要认证 .anyRequest().authenticated() - .and().apply(securityConfigurerAdapter()); + .and().apply(securityConfigurerAdapter()) + .and().build(); } private TokenConfigurer securityConfigurerAdapter() { diff --git a/pom.xml b/pom.xml index d59e0f03..45a718a8 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ org.springframework.boot spring-boot-starter-parent - 2.6.6 + 2.7.18 @@ -120,6 +120,7 @@ mysql mysql-connector-java + 8.0.31 runtime