提交
This commit is contained in:
@ -1,11 +1,16 @@
|
||||
package co.yixiang.yshop.framework.xss.config;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import co.yixiang.yshop.framework.common.enums.WebFilterOrderEnum;
|
||||
import co.yixiang.yshop.framework.xss.core.clean.JsoupXssCleaner;
|
||||
import co.yixiang.yshop.framework.xss.core.clean.XssCleaner;
|
||||
import co.yixiang.yshop.framework.xss.core.filter.XssFilter;
|
||||
import co.yixiang.yshop.framework.xss.core.json.XssStringJsonDeserializer;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
@ -14,9 +19,14 @@ import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilde
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.util.PathMatcher;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
|
||||
import static co.yixiang.yshop.framework.web.config.YshopWebAutoConfiguration.createFilterBean;
|
||||
|
||||
@AutoConfiguration
|
||||
@ -48,6 +58,19 @@ public class YshopXssAutoConfiguration implements WebMvcConfigurer {
|
||||
return builder -> builder.deserializerByType(String.class, new XssStringJsonDeserializer(xssCleaner));
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
|
||||
//日期转字符串
|
||||
return builder -> builder.serializerByType(LocalDate.class, new LocalDateTimeSerializer(DatePattern.NORM_DATE_FORMATTER))
|
||||
.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMATTER))
|
||||
.serializerByType(LocalTime.class, new LocalDateTimeSerializer(DatePattern.NORM_TIME_FORMATTER))
|
||||
//字符串转日期
|
||||
.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMATTER))
|
||||
.deserializerByType(LocalDate.class, new LocalDateDeserializer(DatePattern.NORM_DATE_FORMATTER))
|
||||
.deserializerByType(LocalTime.class, new LocalTimeDeserializer(DatePattern.NORM_TIME_FORMATTER));
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 XssFilter Bean,解决 Xss 安全问题
|
||||
*/
|
||||
|
Reference in New Issue
Block a user