Commit d645fd3c by xxf

添加Security

parent e09c9221
...@@ -3,14 +3,15 @@ package com.suvalue.boot.common.config.swaggerconfig; ...@@ -3,14 +3,15 @@ package com.suvalue.boot.common.config.swaggerconfig;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.*;
import springfox.documentation.builders.PathSelectors; import springfox.documentation.service.*;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
@EnableSwagger2 @EnableSwagger2
@Configuration @Configuration
...@@ -29,15 +30,38 @@ public class SwaggerConfig { ...@@ -29,15 +30,38 @@ public class SwaggerConfig {
// 扫描的路径包 // 扫描的路径包
.apis(RequestHandlerSelectors.basePackage(basePackage)) .apis(RequestHandlerSelectors.basePackage(basePackage))
// 指定路径处理PathSelectors.any()代表所有的路径 // 指定路径处理PathSelectors.any()代表所有的路径
.paths(PathSelectors.any()).build().pathMapping("/"); .paths(PathSelectors.any()).build()
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.pathMapping("/");
}
private List<ApiKey> securitySchemes() {
return newArrayList(
new ApiKey("Authorization", "Authorization", "header"));
}
private List<SecurityContext> securityContexts() {
return newArrayList(
SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.regex("^(?!auth).*$"))
.build()
);
}
List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
return newArrayList(
new SecurityReference("Authorization", authorizationScopes));
} }
private ApiInfo apiInfo() { private ApiInfo apiInfo() {
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("API接口文档") .title("API接口文档")
.description("suvalue | L&L") //.description("suvalue | L&L")
// 作者信息 // 作者信息
.contact(new Contact("LL", "https://www.baidu.com/", "497256593@qq.com")) //.contact(new Contact("LL", "https://www.baidu.com/", "497256593@qq.com"))
.version("1.0.0") .version("1.0.0")
.build(); .build();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment