package cn.iocoder.yudao.framework.encrypt.config;
|
|
import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
|
import cn.iocoder.yudao.framework.encrypt.core.filter.ApiEncryptFilter;
|
import cn.iocoder.yudao.framework.web.config.WebProperties;
|
import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
|
|
import static cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration.createFilterBean;
|
|
@AutoConfiguration
|
@Slf4j
|
@EnableConfigurationProperties(ApiEncryptProperties.class)
|
@ConditionalOnProperty(prefix = "yudao.api-encrypt", name = "enable", havingValue = "true")
|
public class YudaoApiEncryptAutoConfiguration {
|
|
@Bean
|
public FilterRegistrationBean<ApiEncryptFilter> apiEncryptFilter(WebProperties webProperties,
|
ApiEncryptProperties apiEncryptProperties,
|
RequestMappingHandlerMapping requestMappingHandlerMapping,
|
GlobalExceptionHandler globalExceptionHandler) {
|
ApiEncryptFilter filter = new ApiEncryptFilter(webProperties, apiEncryptProperties,
|
requestMappingHandlerMapping, globalExceptionHandler);
|
return createFilterBean(filter, WebFilterOrderEnum.API_ENCRYPT_FILTER);
|
|
}
|
|
}
|