From 0faa5936584c7e816034db997017d90648a4ada6 Mon Sep 17 00:00:00 2001 From: 64850858 <648540858@qq.com> Date: 星期二, 06 七月 2021 16:38:31 +0800 Subject: [PATCH] 规范配置文件,添加接口鉴权的例外接口配置 --- src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java | 37 +++++++++++++++++++++++++++---------- 1 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java index ebeefd4..2841681 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.conf.security; +import com.genersoft.iot.vmp.conf.UserSetup; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -13,6 +14,8 @@ import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import java.util.List; + /** * 閰嶇疆Spring Security */ @@ -20,6 +23,9 @@ @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { + + @Autowired + private UserSetup userSetup; @Autowired private DefaultUserDetailsServiceImpl userDetailsService; @@ -66,16 +72,27 @@ **/ @Override public void configure(WebSecurity web) { - // 鍙互鐩存帴璁块棶鐨勯潤鎬佹暟鎹� - web.ignoring() - .antMatchers("/") - .antMatchers("/static/**") - .antMatchers("/index.html") - .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**" - .antMatchers("/webjars/**") - .antMatchers("/swagger-resources/**") - .antMatchers("/v3/api-docs/**") - .antMatchers("/js/**"); + + if (!userSetup.isInterfaceAuthentication()) { + web.ignoring().antMatchers("**"); + }else { + // 鍙互鐩存帴璁块棶鐨勯潤鎬佹暟鎹� + web.ignoring() + .antMatchers("/") + .antMatchers("/#/**") + .antMatchers("/static/**") + .antMatchers("/index.html") + .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**" + .antMatchers("/webjars/**") + .antMatchers("/swagger-resources/**") + .antMatchers("/v3/api-docs/**") + .antMatchers("/js/**"); + List<String> interfaceAuthenticationExcludes = userSetup.getInterfaceAuthenticationExcludes(); + System.out.println(interfaceAuthenticationExcludes.size()); + for (String interfaceAuthenticationExclude : interfaceAuthenticationExcludes) { + web.ignoring().antMatchers(interfaceAuthenticationExclude); + } + } } /** -- Gitblit v1.8.0