|
@@ -2,6 +2,7 @@ package cn.keking.web.filter;
|
|
|
|
|
|
import cn.keking.config.ConfigConstants;
|
|
|
import cn.keking.utils.WebUtils;
|
|
|
+
|
|
|
import java.io.IOException;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import javax.servlet.Filter;
|
|
@@ -10,6 +11,8 @@ import javax.servlet.FilterConfig;
|
|
|
import javax.servlet.ServletException;
|
|
|
import javax.servlet.ServletRequest;
|
|
|
import javax.servlet.ServletResponse;
|
|
|
+
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.core.io.ClassPathResource;
|
|
|
import org.springframework.util.FileCopyUtils;
|
|
|
|
|
@@ -38,7 +41,7 @@ public class TrustHostFilter implements Filter {
|
|
|
String url = WebUtils.getSourceUrl(request);
|
|
|
String host = WebUtils.getHost(url);
|
|
|
assert host != null;
|
|
|
- if (!isTrustHost(host) || isNotTrustHost(host)) {
|
|
|
+ if (isNotTrustHost(host)) {
|
|
|
String html = this.notTrustHostHtmlView.replace("${current_host}", host);
|
|
|
response.getWriter().write(html);
|
|
|
response.getWriter().close();
|
|
@@ -47,12 +50,14 @@ public class TrustHostFilter implements Filter {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public boolean isTrustHost(String host) {
|
|
|
- return !ConfigConstants.getTrustHostSet().isEmpty() && ConfigConstants.getTrustHostSet().contains(host);
|
|
|
- }
|
|
|
-
|
|
|
public boolean isNotTrustHost(String host) {
|
|
|
- return !ConfigConstants.getNotTrustHostSet().isEmpty() && ConfigConstants.getNotTrustHostSet().contains(host);
|
|
|
+ if (CollectionUtils.isNotEmpty(ConfigConstants.getNotTrustHostSet())) {
|
|
|
+ return ConfigConstants.getNotTrustHostSet().contains(host);
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(ConfigConstants.getTrustHostSet())) {
|
|
|
+ return !ConfigConstants.getTrustHostSet().contains(host);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
@Override
|