From 5ac56c82c48200f5bfd82917d04279ff502a906f Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期四, 20 三月 2025 15:06:20 +0800
Subject: [PATCH] 高级安全防护
---
src/main/java/com/jsh/erp/config/Swagger2Config.java | 40 +++++++++++++++++++++++++++++++++++-----
1 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/jsh/erp/config/Swagger2Config.java b/src/main/java/com/jsh/erp/config/Swagger2Config.java
index 95c1f1a..042a93e 100644
--- a/src/main/java/com/jsh/erp/config/Swagger2Config.java
+++ b/src/main/java/com/jsh/erp/config/Swagger2Config.java
@@ -5,11 +5,14 @@
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Contact;
+import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* 插件集成配置
@@ -26,19 +29,46 @@
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(this.apiInfo())
.select()
- .apis(RequestHandlerSelectors.any())
+ .apis(RequestHandlerSelectors.basePackage("com.jsh.erp.controller"))
.paths(PathSelectors.any())
- .build();
+ .build()
+ // 添加登录认证
+ .securityContexts(securityContexts())
+ .securitySchemes(securitySchemes());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("云游管理系统 Restful Api")
.description("云游管理系统接口描述")
- .termsOfServiceUrl("http://127.0.0.1")
+ .termsOfServiceUrl("http://localhost:8888/jshERP-boot")
.contact(new Contact("jishenghua", "", ""))
.version("3.0")
.build();
}
+ private List<ApiKey> securitySchemes() {
+ List<ApiKey> apiKeys = new ArrayList<>();
+ apiKeys.add(new ApiKey("Authorization", "Authorization", "header"));
+ return apiKeys;
+ }
+
+ private List<SecurityContext> securityContexts() {
+ List<SecurityContext> securityContexts = new ArrayList<>();
+ securityContexts.add(SecurityContext.builder()
+ .securityReferences(defaultAuth())
+ .forPaths(PathSelectors.regex("^(?!auth).*$"))
+ .build());
+ return securityContexts;
+ }
+
+ private List<SecurityReference> defaultAuth() {
+ AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
+ authorizationScopes[0] = authorizationScope;
+ List<SecurityReference> securityReferences = new ArrayList<>();
+ securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
+ return securityReferences;
+ }
+
}
--
Gitblit v1.9.3