package com.terra.proxy.filter;
|
|
import com.terra.proxy.service.Impl.LogServiceImpl;
|
import com.terra.proxy.service.Impl.ServerRegisterServiceImpl;
|
import com.terra.proxy.util.BlackUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
|
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.context.support.WebApplicationContextUtils;
|
|
import javax.servlet.*;
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.IOException;
|
|
|
public class ServletFilter implements Filter {
|
@Autowired
|
private ServerRegisterServiceImpl service;
|
|
@Autowired
|
private LogServiceImpl logService;
|
|
@Override
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
HttpServletRequest request=(HttpServletRequest) servletRequest;
|
String uri = request.getRequestURI();
|
if( uri.endsWith("css")||
|
uri.endsWith("html")||
|
uri.endsWith("js")||
|
BlackUtils.blackInterceptor(request,logService,service)){
|
filterChain.doFilter(servletRequest,servletResponse);
|
}
|
}
|
|
@Override
|
public void destroy() {
|
// TODO
|
}
|
|
@Override
|
public void init(FilterConfig filterConfig) throws ServletException {
|
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext());
|
service = wac.getBean(ServerRegisterServiceImpl.class);
|
logService=wac.getBean(LogServiceImpl.class);
|
}
|
|
}
|