package cn.imovie.common.config;
import cn.imovie.enums.CommonConstants;
import org.apache.catalina.filters.RemoteIpFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@Configuration
public class WebConfiguration {
private static Logger log = LoggerFactory.getLogger(WebConfiguration.class);
@Bean
public RemoteIpFilter remoteIpFilter() {
return new RemoteIpFilter();
}
/**
* 注册过滤器
* @return
*/
@Bean
public FilterRegistrationBean doFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new MyFilter());
registration.addUrlPatterns("/*");
registration.addInitParameter("paramName", "paramValue");
registration.setName("MyFilter");
registration.setOrder(1);
return registration;
}
public class MyFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest srequest,ServletResponse sresponse, FilterChain filterChain)
throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest) srequest;
log.info("this is MyFilter,url :"+request.getRequestURI());
//不拦截swagger的请求
if(request.getRequestURI().contains("swagger-")||request.getRequestURI().contains("api- docs")||request.getRequestURI().contains("favicon")){
}else {
String t=request.getParameter("token");
if(!CommonConstants.TOKEN.equals(request.getParameter("token"))){
System.out.print("非法请求");
log.info("非法请求");
return;
}
}
filterChain.doFilter(srequest, sresponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
}
设置不拦截swagger的请求
猜你喜欢
转载自blog.csdn.net/qq_42093488/article/details/85273830
今日推荐
周排行