import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.google.common.collect.Lists;
import com.gthl.annotation.IPFilter;
public class AuthorityIPInterceptor extends HandlerInterceptorAdapter {
private final static Logger logger = LoggerFactory.getLogger(AuthorityIPInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
if (handler instanceof HandlerMethod) {
IPFilter ipFilter = ((HandlerMethod) handler).getMethodAnnotation(IPFilter.class);
if (ipFilter == null) {
return true;
}
String ipAddress = getIpAddress(request);
ArrayList<String> deny = Lists.newArrayList(ipFilter.deny());
ArrayList<String> allow = Lists.newArrayList(ipFilter.allow());
//设置了黑名单, 黑名单内ip不给通过