Prechádzať zdrojové kódy

mybatisplus 添加逻辑删除 security cors跨域处理

785834757 1 rok pred
rodič
commit
24645ff07d

+ 17 - 0
authentication/src/main/java/com/jzg/config/SecurityConfig.java

@@ -11,6 +11,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.config.Customizer;
 import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
@@ -18,6 +19,9 @@ import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.security.web.SecurityFilterChain;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
 
 
 @Configuration
@@ -57,8 +61,21 @@ public class SecurityConfig {
         return new TokenAuthenticationFilter(authenticationManager,tokenService);
     }
 
+    @Bean
+    public CorsFilter corsFilter(){
+        CorsConfiguration config = new CorsConfiguration();
+        config.addAllowedOrigin("*");
+        config.addAllowedMethod("*");
+        config.addAllowedHeader("*");
+
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        source.registerCorsConfiguration("/**", config);
+        return new CorsFilter(source);
+    }
+
     @Bean
     public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
+        http.cors(Customizer.withDefaults());
         http.csrf().disable();
         http.authorizeHttpRequests(auth -> auth
                         .requestMatchers("/swagger-ui/**", "/v3/api-docs/**", "/swagger-resources/**", "/webjars/**", "/favicon.ico",

+ 5 - 0
commons/src/main/java/com/jzg/core/base/BaseModel.java

@@ -2,6 +2,7 @@ package com.jzg.core.base;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import io.swagger.v3.oas.annotations.media.Schema;
 
 import java.time.LocalDateTime;
@@ -9,6 +10,10 @@ import java.util.Date;
 
 public class BaseModel {
 
+    @Schema(description = "是否删除")
+    @TableLogic
+    private Integer isDelete;
+
     @Schema(description = "创建人")
     @TableField(fill = FieldFill.INSERT)
     private String createBy;

+ 1 - 1
gateway/src/main/resources/application.yml

@@ -15,4 +15,4 @@ spring:
         - id: platform_route
           uri: http://localhost:8083/
           predicates:
-            - Path=/userRule/**
+            - Path=/userRole/**

+ 2 - 1
platform/src/main/java/com/jzg/entity/po/SysRole.java

@@ -1,9 +1,10 @@
 package com.jzg.entity.po;
 
+import com.jzg.core.base.BaseModel;
 import lombok.Data;
 
 @Data
-public class SysRole {
+public class SysRole extends BaseModel {
 
     private String id;
 

+ 5 - 1
platform/src/main/resources/application.yml

@@ -15,7 +15,11 @@ spring:
 
 mybatis-plus:
   mapper-locations: classpath*:/mapper/*Mapper.xml
-
+  global-config:
+    db-config:
+      logic-delete-field: is_delete
+      logic-delete-value: 1
+      logic-not-delete-value: 0
 
 config:
   sso: 1