فهرست منبع

敏感词拦截器的调整

suntg 8 سال پیش
والد
کامیت
f23910b95b

+ 42 - 0
src/main/java/com/uas/platform/b2c/core/filter/SensitiveWordsInterceptor.java

@@ -0,0 +1,42 @@
+package com.uas.platform.b2c.core.filter;
+
+import com.uas.platform.b2c.common.keyword.service.KeyWordService;
+import com.uas.platform.b2c.core.support.BodyReaderHttpServletRequestWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+import org.springframework.web.context.support.XmlWebApplicationContext;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Set;
+
+/**
+ *
+ */
+public class SensitiveWordsInterceptor extends HandlerInterceptorAdapter {
+
+	public static Set<String> keyworsSet = null;
+
+	@Autowired
+	private KeyWordService keyWordService;
+
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+		String contentType = request.getContentType();
+		String method = request.getMethod();
+		// POST请求 或 PUT请求,并且不是附件上传请求
+		if(("POST".equals(method) || "PUT".equals(method)) && (StringUtils.isEmpty(contentType) || !contentType.contains("multipart"))){
+			if(keyworsSet == null){
+				keyworsSet = keyWordService.getAllKeyWordContent();
+			}
+			// request包装类  改写getParameterValues和getInputStream
+			request = new BodyReaderHttpServletRequestWrapper(request);
+		}
+		return true;
+	}
+}

+ 1 - 1
src/main/java/com/uas/platform/b2c/fa/payment/utils/ApipaySubmit.java

@@ -84,7 +84,7 @@ public class ApipaySubmit {
 	 * @param params
 	 * @return
 	 */
-	public static boolean verifySign(HttpServletRequest request, Map<String, String> params) {
+	 public static boolean verifySign(HttpServletRequest request, Map<String, String> params) {
 		InputStream publicCertFileInputStream = null;
 		boolean isSign;
 

+ 1 - 1
src/main/resources/spring/context.xml

@@ -112,7 +112,7 @@
 
 	<bean id="entityManagerFactory"
 		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
-		<property name="persistenceUnitName" value="persistenceUnit" />
+		<!--<property name="persistenceUnitName" value="persistenceUnit" />-->
 		<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml"/>
 		<property name="packagesToScan" value="com.uas.platform" />
 		<property name="dataSource" ref="dataSource" />