[feat] IP白名单
This commit is contained in:
parent
b0c7bf5751
commit
7f68819046
@ -1,5 +1,7 @@
|
||||
package org.ssssssss.magicapi.servlet.jakarta;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
@ -17,6 +19,7 @@ import org.ssssssss.magicapi.core.servlet.MagicRequestContextHolder;
|
||||
import java.util.List;
|
||||
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class MagicJakartaServletConfiguration implements WebMvcConfigurer {
|
||||
|
||||
private final MagicAPIProperties properties;
|
||||
@ -24,10 +27,10 @@ public class MagicJakartaServletConfiguration implements WebMvcConfigurer {
|
||||
private final MagicJakartaCorsFilter magicCorsFilter = new MagicJakartaCorsFilter();
|
||||
|
||||
private final ObjectProvider<MagicJakartaWebRequestInterceptor> magicWebRequestInterceptorProvider;
|
||||
private final WebIPLimitRequestInterceptor webIPLimitRequestInterceptor;
|
||||
private final ObjectProvider<WebIPLimitRequestInterceptor> webIPLimitRequestInterceptor;
|
||||
|
||||
|
||||
public MagicJakartaServletConfiguration(MagicAPIProperties properties, ObjectProvider<MagicJakartaWebRequestInterceptor> magicWebRequestInterceptorProvider , WebIPLimitRequestInterceptor webIPLimitRequestInterceptorProvider) {
|
||||
public MagicJakartaServletConfiguration(MagicAPIProperties properties, ObjectProvider<MagicJakartaWebRequestInterceptor> magicWebRequestInterceptorProvider , ObjectProvider<WebIPLimitRequestInterceptor> webIPLimitRequestInterceptorProvider) {
|
||||
this.properties = properties;
|
||||
this.magicWebRequestInterceptorProvider = magicWebRequestInterceptorProvider;
|
||||
this.webIPLimitRequestInterceptor = webIPLimitRequestInterceptorProvider;
|
||||
@ -52,13 +55,18 @@ public class MagicJakartaServletConfiguration implements WebMvcConfigurer {
|
||||
@Override
|
||||
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
|
||||
resolvers.add(0,new MagicJakartaHttpServletRequest.ArgumentsResolver());
|
||||
resolvers.add(0,new MagicJakartaHttpServletResponse.ArgumentsResolver());
|
||||
}
|
||||
resolvers.add(0,new MagicJakartaHttpServletResponse.ArgumentsResolver());}
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
registry.addInterceptor(magicWebRequestInterceptorProvider.getObject()).addPathPatterns("/**");
|
||||
registry.addInterceptor(webIPLimitRequestInterceptor).addPathPatterns(properties.getWeb()+"/**");
|
||||
try {
|
||||
WebIPLimitRequestInterceptor interceptor = webIPLimitRequestInterceptor.getObject();
|
||||
registry.addInterceptor(interceptor).addPathPatterns(properties.getWeb() + "/**");
|
||||
} catch (BeansException e) {
|
||||
log.warn("初始化IP限制拦截器异常,此功能没有开启");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
Loading…
Reference in New Issue
Block a user