From cefdce5e0a34743e6d9784f858265120e75179a1 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 08 三月 2023 14:46:18 +0800
Subject: [PATCH] 优化兼容接口
---
src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java | 24 +++++++++++++++++-------
1 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java b/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java
index 6180974..e30b6db 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java
@@ -4,11 +4,14 @@
import com.genersoft.iot.vmp.conf.security.SecurityUtils;
import com.genersoft.iot.vmp.service.ILogService;
import com.genersoft.iot.vmp.storager.dao.dto.LogDto;
+import com.genersoft.iot.vmp.utils.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.*;
@@ -16,17 +19,16 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.text.SimpleDateFormat;
/**
* @author lin
*/
@WebFilter(filterName = "ApiAccessFilter", urlPatterns = "/api/*", asyncSupported=true)
+@Component
public class ApiAccessFilter extends OncePerRequestFilter {
private final static Logger logger = LoggerFactory.getLogger(ApiAccessFilter.class);
- private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Autowired
private UserSetting userSetting;
@@ -46,23 +48,31 @@
long start = System.currentTimeMillis(); // 璇锋眰杩涘叆鏃堕棿
String uriName = ApiSaveConstant.getVal(servletRequest.getRequestURI());
+ String origin = servletRequest.getHeader("Origin");
+ servletResponse.setContentType("application/json;charset=UTF-8");
+ servletResponse.setHeader("Access-Control-Allow-Origin", origin != null ? origin : "*");
+ servletResponse.setHeader("Access-Control-Allow-Credentials", "true");
+ servletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
+ servletResponse.setHeader("Access-Control-Max-Age", "3600");
+ servletResponse.setHeader("Access-Control-Allow-Headers", "token,Content-Type,Content-Length, Authorization, Accept,X-Requested-With,domain,zdy");
filterChain.doFilter(servletRequest, servletResponse);
- if (uriName != null && userSetting.getLogInDatebase()) {
+ if (uriName != null && userSetting != null && userSetting.getLogInDatebase() != null && userSetting.getLogInDatebase()) {
LogDto logDto = new LogDto();
logDto.setName(uriName);
+ if (ObjectUtils.isEmpty(username)) {
+ username = "";
+ }
logDto.setUsername(username);
logDto.setAddress(servletRequest.getRemoteAddr());
logDto.setResult(HttpStatus.valueOf(servletResponse.getStatus()).toString());
logDto.setTiming(System.currentTimeMillis() - start);
logDto.setType(servletRequest.getMethod());
logDto.setUri(servletRequest.getRequestURI());
- logDto.setCreateTime(format.format(System.currentTimeMillis()));
+ logDto.setCreateTime(DateUtil.getNow());
logService.add(logDto);
-// logger.warn("[Api Access] [{}] [{}] [{}] [{}] [{}] {}ms",
-// uriName, servletRequest.getMethod(), servletRequest.getRequestURI(), servletRequest.getRemoteAddr(), HttpStatus.valueOf(servletResponse.getStatus()),
-// System.currentTimeMillis() - start);
+
}
}
--
Gitblit v1.8.0