From 9a3d7f190717a6e3af608ffa0d78c66b6bcc0e8a Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 10 Sep 2020 15:23:07 +0800 Subject: [PATCH] 因子对比 --- src/main/java/com/moral/security/config/WebSecurityConfig.java | 24 +++++++++++++++++++----- 1 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/moral/security/config/WebSecurityConfig.java b/src/main/java/com/moral/security/config/WebSecurityConfig.java index 2d1fceb..0082158 100644 --- a/src/main/java/com/moral/security/config/WebSecurityConfig.java +++ b/src/main/java/com/moral/security/config/WebSecurityConfig.java @@ -1,6 +1,7 @@ package com.moral.security.config; import com.fasterxml.jackson.databind.ObjectMapper; +import com.moral.common.util.ResourceUtil; import com.moral.security.CustomCorsFilter; import com.moral.security.RestAuthenticationEntryPoint; import com.moral.security.auth.login.LoginAuthenticationProvider; @@ -9,6 +10,8 @@ import com.moral.security.auth.jwt.JwtTokenAuthenticationProcessingFilter; import com.moral.security.auth.jwt.SkipPathRequestMatcher; import com.moral.security.auth.jwt.extractor.TokenExtractor; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -22,6 +25,7 @@ import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -36,6 +40,7 @@ @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { public static final String AUTHENTICATION_HEADER_NAME = "X-Authorization"; + public static final String REFRESH_TOKEN_HEADER_NAME = "X-Refrsh-Token"; public static final String AUTHENTICATION_PARAM_NAME = "_token"; public static final String AUTHENTICATION_URL = "/auth/login"; public static final String REFRESH_TOKEN_URL = "/auth/token"; @@ -89,12 +94,19 @@ @Override protected void configure(HttpSecurity http) throws Exception { - List<String> permitAllEndpointList = Arrays.asList( - AUTHENTICATION_URL, - REFRESH_TOKEN_URL, - "/screen/**" - ); + List<String> permitAllEndpointList = new ArrayList<>(Arrays.asList( + AUTHENTICATION_URL, + REFRESH_TOKEN_URL + )); + // ������������������url + String noFilters = ResourceUtil.getValue("noFilters"); + if(!StringUtils.isBlank(noFilters)){ + String[] noFilterArray = noFilters.split(","); + if(!ArrayUtils.isEmpty(noFilterArray)){ + permitAllEndpointList.addAll(Arrays.asList(noFilterArray)); + } + } http .csrf().disable() // We don't need CSRF for JWT based authentication .exceptionHandling() @@ -109,6 +121,8 @@ .antMatchers(permitAllEndpointList.toArray(new String[permitAllEndpointList.size()])) .permitAll() .and() + .headers().frameOptions().disable() + .and() .authorizeRequests() .antMatchers(API_ROOT_URL).authenticated() // Protected API End-points .and() -- Gitblit v1.8.0