package com.qianwen.smartman.common.filter;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Stream;
|
import javax.servlet.Filter;
|
import javax.servlet.FilterChain;
|
import javax.servlet.FilterConfig;
|
import javax.servlet.ServletException;
|
import javax.servlet.ServletRequest;
|
import javax.servlet.ServletResponse;
|
import javax.servlet.http.HttpServletRequest;
|
import com.qianwen.smartman.common.constant.DictConstant;
|
|
public class PreviewFilter implements Filter {
|
private static final List<String> KEYS = new ArrayList();
|
|
static {
|
KEYS.add(DictConstant.NOTICE_CODE);
|
KEYS.add("process");
|
KEYS.add("work");
|
KEYS.add("token");
|
}
|
|
public void init(FilterConfig filterConfig) {
|
}
|
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
|
HttpServletRequest httpServletRequest = (HttpServletRequest)servletRequest;
|
String path = httpServletRequest.getServletPath();
|
String method = httpServletRequest.getMethod();
|
String get = "GET";
|
if (method.equals(get) || KEYS.stream().anyMatch(path::contains)) {
|
filterChain.doFilter(servletRequest, servletResponse);
|
} else {
|
throw new RuntimeException("演示环境暂时无法操作!");
|
}
|
}
|
|
public void destroy() {
|
}
|
}
|