61 lines
2.2 KiB
Java
61 lines
2.2 KiB
Java
package cn.palmte.work.config;
|
|
|
|
import cn.palmte.work.config.interceptor.TokenLoggingInterceptor;
|
|
import cn.palmte.work.utils.StrKit;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.web.servlet.HandlerInterceptor;
|
|
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
|
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
|
|
|
/**
|
|
* 配置拦截器等
|
|
* @author xiongshiyan
|
|
*/
|
|
@Component
|
|
public class GoodWebAppConfigurer extends WebMvcConfigurerAdapter {
|
|
|
|
@Autowired
|
|
private TokenLoggingInterceptor tokenLoggingInterceptor;
|
|
|
|
/**
|
|
* 排除某些url不需要校验
|
|
*/
|
|
@Value("${fourcal.excluded.client.urls}")
|
|
private String excludesClientUrls;
|
|
@Value("${fourcal.excluded.pc.urls}")
|
|
private String excludesPCUrls;
|
|
|
|
@Override
|
|
public void addInterceptors(InterceptorRegistry registry) {
|
|
/**拦截任意URL,打印token header参数*/
|
|
addInterceptor(registry , tokenLoggingInterceptor , "" , "/**");
|
|
|
|
/**拦截所有排除指定的*/
|
|
}
|
|
private void addInterceptor(InterceptorRegistry registry , HandlerInterceptor handlerInterceptor , String excludeUrls , String... addPartterns) {
|
|
InterceptorRegistration registration = registry.addInterceptor(handlerInterceptor)
|
|
.addPathPatterns(addPartterns);
|
|
String[] p = excludeUrls.split(",");
|
|
StrKit.trim(p);
|
|
if( p.length > 0 ){
|
|
registration.excludePathPatterns(p);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 允许跨域
|
|
*/
|
|
@Override
|
|
public void addCorsMappings(CorsRegistry registry) {
|
|
registry.addMapping("/**")
|
|
.allowedHeaders("*")
|
|
.allowedOrigins("*")
|
|
.allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS")
|
|
.allowCredentials(false).maxAge(3600);
|
|
}
|
|
} |