From 4199650c20e48cd3cb897a413aec13fa518c81cd Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 12 五月 2022 18:15:35 +0800 Subject: [PATCH] #471 --- src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 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 ee6a30e..47cfdab 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,7 +1,9 @@ package com.genersoft.iot.vmp.conf.security; +import com.genersoft.iot.vmp.conf.UserSetting; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationManager; @@ -14,6 +16,8 @@ import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import java.util.List; + /** * 閰嶇疆Spring Security */ @@ -22,8 +26,10 @@ @EnableGlobalMethodSecurity(prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { - @Value("${userSettings.interfaceAuthentication}") - private boolean interfaceAuthentication; + private final static Logger logger = LoggerFactory.getLogger(WebSecurityConfig.class); + + @Autowired + private UserSetting userSetting; @Autowired private DefaultUserDetailsServiceImpl userDetailsService; @@ -71,7 +77,7 @@ @Override public void configure(WebSecurity web) { - if (!interfaceAuthentication) { + if (!userSetting.isInterfaceAuthentication()) { web.ignoring().antMatchers("**"); }else { // 鍙互鐩存帴璁块棶鐨勯潤鎬佹暟鎹� @@ -85,6 +91,15 @@ .antMatchers("/swagger-resources/**") .antMatchers("/v3/api-docs/**") .antMatchers("/js/**"); + List<String> interfaceAuthenticationExcludes = userSetting.getInterfaceAuthenticationExcludes(); + for (String interfaceAuthenticationExclude : interfaceAuthenticationExcludes) { + if (interfaceAuthenticationExclude.split("/").length < 4 ) { + logger.warn("{}涓嶆弧瓒充袱绾х洰褰曪紝宸插拷鐣�", interfaceAuthenticationExclude); + }else { + web.ignoring().antMatchers(interfaceAuthenticationExclude); + } + + } } } -- Gitblit v1.8.0