david 2 лет назад
Родитель
Сommit
43857f69b6

+ 4 - 2
src/main/java/com/roma/romaapi/config/CorsConfig.java

@@ -22,9 +22,11 @@ public class CorsConfig implements WebMvcConfigurer {
                 // 是否允许证书(cookies)
                 .allowCredentials(true)
                 // 设置允许的方法
-                .allowedMethods("*")
+                .allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS")
                 // 跨域允许时间
-                .maxAge(3600);
+                .maxAge(3600)
+                .allowedHeaders("*")
+        ;
 
     }
 }

+ 2 - 1
src/main/java/com/roma/romaapi/config/WebSecurityConfig.java

@@ -12,7 +12,8 @@ public class WebSecurityConfig {
 
     @Bean
     public SecurityFilterChain configure(HttpSecurity http) throws Exception {
-        http.csrf().disable();
+        http.csrf().disable().cors();
+
         http.authorizeHttpRequests((requests) -> requests
                         .requestMatchers("/**").permitAll()
                         .anyRequest()

+ 1 - 1
src/main/java/com/roma/romaapi/controller/PageController.java

@@ -12,7 +12,7 @@ import java.util.List;
 import java.util.Map;
 
 @RestController
-@CrossOrigin(origins = "*")
+@CrossOrigin
 public class PageController {
 
     @Autowired

+ 6 - 0
src/main/java/com/roma/romaapi/interceptor/JWTInterceptor.java

@@ -8,6 +8,7 @@ import com.roma.romaapi.utils.JWTUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.http.HttpMethod;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.HandlerInterceptor;
 
@@ -31,8 +32,13 @@ public class JWTInterceptor implements HandlerInterceptor {
 
     @Override
     public boolean preHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler) throws Exception {
+        if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
+            return true;
+        }
         // 从Header中获得Token
         String token = request.getHeader("token");
+        String aa = request.getHeader("Authorization");
+        System.out.println(aa+"================");
         if(token==null || token.equals("")){
             throw new Exception("Header 未装载 token");
         }