From 5c67ffa649378a06b01f78bf42c768517b42eaf6 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 10 一月 2025 18:31:08 +0800
Subject: [PATCH] bug修改

---
 manage/src/main/java/com/jilongda/manage/config/WebSecurityConfig.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/config/WebSecurityConfig.java b/manage/src/main/java/com/jilongda/manage/config/WebSecurityConfig.java
index 58186dd..89cdfe6 100644
--- a/manage/src/main/java/com/jilongda/manage/config/WebSecurityConfig.java
+++ b/manage/src/main/java/com/jilongda/manage/config/WebSecurityConfig.java
@@ -1,5 +1,6 @@
 package com.jilongda.manage.config;
 
+import com.jilongda.common.security.ExceptionHandleFilter;
 import com.jilongda.manage.security.SecurityAccessDeniedHandler;
 import com.jilongda.manage.security.SysUserDetailsService;
 import com.jilongda.common.basic.Constant;
@@ -22,6 +23,7 @@
 import org.springframework.security.config.http.SessionCreationPolicy;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
 
 /**
  * 细粒度的访问控制
@@ -107,14 +109,14 @@
                 .logout().disable()
                 .csrf().disable()
                 // 放在 Cookie 中返回前端,防止跨域伪造
-                //.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and()
+//                .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and()
                 //.and()
                 .authorizeRequests()
                 // 跨域预检请求
-//                .antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
+                .antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
                 // 登录URL permitAll() 无需保护 ---> 此种方式配置忽略认证规则会走Spring Security 过滤器链,在过滤器链中,给请求放行
                 // 不需要保护的请求,但需要经过过滤连
-                .antMatchers(HttpMethod.POST, "/**").permitAll()
+//                .antMatchers(HttpMethod.POST, "/**").permitAll()
                 // 其他都需要权限认证
                 .anyRequest()
                 .authenticated()
@@ -135,6 +137,8 @@
         http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
         // 访问控制时登录状态检查过滤器
         http.addFilterBefore(new AuthenticationFilter(securityUtils()), UsernamePasswordAuthenticationFilter.class);
+        // 异常捕捉过滤器,必须在AuthenticationFilter之前才能捕捉到异常信息
+        http.addFilterBefore(new ExceptionHandleFilter(), AuthenticationFilter.class);
         //禁用缓存
         http.headers().cacheControl();
     }

--
Gitblit v1.7.1