|
@ -20,11 +20,13 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.web.context.HttpRequestResponseHolder;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.method.HandlerMethod;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
import org.springframework.web.servlet.mvc.Controller;
|
|
|
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@ -58,10 +60,16 @@ public class GateWayInterceptor extends BaseInterceptor {
|
|
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
|
|
|
boolean flag = true;
|
|
|
String accesstoken = request.getParameter("accesstoken");
|
|
|
String accesstoken = request.getHeader("accesstoken");
|
|
|
String ip = NetworkUtil.getIpAddress(request);
|
|
|
//********************************判断accesstoken********************************
|
|
|
try {
|
|
|
if (org.springframework.util.StringUtils.isEmpty(accesstoken)) {
|
|
|
saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_null.getMessage());
|
|
|
//没权限
|
|
|
BaseResultModel baseResultModel = new BaseResultModel(BaseResultModel.codeEm.token_null.getCode(), BaseResultModel.codeEm.token_null.getMessage());
|
|
|
response.getOutputStream().write(JSONObject.fromObject(baseResultModel).toString().getBytes());
|
|
|
}
|
|
|
GcToken gcToken = gcTokenDaoDao.findByToken(accesstoken);
|
|
|
if (gcToken == null) {
|
|
|
saveHttpLog(ip, JSONObject.fromObject(request.getParameterMap()).toString(), null, accesstoken, request.getRequestURI(), GcHttpLog.flagEm.error.getCode(), BaseResultModel.codeEm.token_no_power.getMessage());
|
|
@ -101,16 +109,7 @@ public class GateWayInterceptor extends BaseInterceptor {
|
|
|
*/
|
|
|
@Override
|
|
|
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
|
|
//保存成功之后的日志
|
|
|
String token = request.getParameter("token");
|
|
|
String ip = NetworkUtil.getIpAddress(request);
|
|
|
saveHttpLog(ip,
|
|
|
JSONObject.fromObject(request.getParameterMap()).toString(),
|
|
|
JSONObject.fromObject(modelAndView.getModelMap()).toString(),
|
|
|
token,
|
|
|
request.getRequestURI(),
|
|
|
GcHttpLog.flagEm.success.getCode(),
|
|
|
null);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -125,9 +124,19 @@ public class GateWayInterceptor extends BaseInterceptor {
|
|
|
@Override
|
|
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
|
|
|
|
|
String token = request.getParameter("token");
|
|
|
String ip = NetworkUtil.getIpAddress(request);
|
|
|
|
|
|
|
|
|
saveHttpLog(ip,
|
|
|
JSONObject.fromObject(request.getParameterMap()).toString(),
|
|
|
null,//JSONObject.fromObject(modelAndView.getModelMap()).toString()
|
|
|
token,
|
|
|
request.getRequestURI(),
|
|
|
GcHttpLog.flagEm.success.getCode(),
|
|
|
null);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public void saveHttpLog(String ip, String input, String output, String token, String method, Integer flag, String message) {
|
|
|
GcHttpLog gcHttpLog = new GcHttpLog();
|
|
|
gcHttpLog.setCreateTime(new Date());
|
|
@ -137,6 +146,7 @@ public class GateWayInterceptor extends BaseInterceptor {
|
|
|
gcHttpLog.setToken(token);
|
|
|
gcHttpLog.setMethod(method);
|
|
|
gcHttpLog.setFlag(flag);
|
|
|
gcHttpLog.setMessage(message);
|
|
|
httpLogDao.save(gcHttpLog);
|
|
|
}
|
|
|
}
|