From 1b20b0c34cd41766bd68af7e103f14856aa9c36c Mon Sep 17 00:00:00 2001 From: zxj <1845124851@qq.com> Date: Mon, 16 Oct 2023 15:30:17 +0800 Subject: [PATCH] 1 --- .../main/java/com/jnssd/config/SwaggerConfig.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/spring-boot-swagger/src/main/java/com/jnssd/config/SwaggerConfig.java b/spring-boot-swagger/src/main/java/com/jnssd/config/SwaggerConfig.java index d6e2afc..5f52ee8 100644 --- a/spring-boot-swagger/src/main/java/com/jnssd/config/SwaggerConfig.java +++ b/spring-boot-swagger/src/main/java/com/jnssd/config/SwaggerConfig.java @@ -2,6 +2,7 @@ package com.jnssd.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.util.AntPathMatcher; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.OAuthBuilder; import springfox.documentation.builders.PathSelectors; @@ -51,7 +52,6 @@ public class SwaggerConfig { } - public List initSecuritySchemeList() { List list = new ArrayList<>(); list.add(securitySchemeBasicAuth()); @@ -113,7 +113,16 @@ public class SwaggerConfig { private SecurityContext securityContext() { List list = new ArrayList<>(); Arrays.stream(securitySchemeNames).forEach(s -> list.add(new SecurityReference(s, new AuthorizationScope[0]))); - return SecurityContext.builder().securityReferences(list).build(); + return SecurityContext.builder().operationSelector(operationContext -> { + System.out.println("operationContext" + operationContext); + // 除了get方法其他方法都要校验 + // return !operationContext.httpMethod().name().equals("GET"); + + // 通过地址模糊匹配 + AntPathMatcher pathMatcher = new AntPathMatcher(); + String path = operationContext.requestMappingPattern(); + return pathMatcher.match("/menu/**", path) || pathMatcher.match("/user/**", path); + }).securityReferences(list).build(); } private List scopes() { @@ -123,6 +132,7 @@ public class SwaggerConfig { list.add(new AuthorizationScope("admin_scope", "Grants read write and delete access")); return list; } + @Bean public SecurityConfiguration security() { return SecurityConfigurationBuilder.builder().clientId("").clientSecret("").realm("*").appName("").scopeSeparator("").useBasicAuthenticationWithAccessCodeGrant(false).build();