|
@@ -1,81 +0,0 @@
|
|
|
-package com.persagy.fm.common.config;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.persagy.fm.common.constant.RequiredParamsConstants;
|
|
|
-import com.persagy.fm.common.context.DefaultAppContext;
|
|
|
-import com.persagy.fm.common.context.DefaultAppContextFactory;
|
|
|
-import com.persagy.fm.common.utils.SecureAES;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.web.servlet.ModelAndView;
|
|
|
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-
|
|
|
-/**
|
|
|
- * @description:
|
|
|
- * @author: lixing
|
|
|
- * @company: Persagy Technology Co.,Ltd
|
|
|
- * @since: 2021/3/8 9:35 上午
|
|
|
- * @version: V1.0
|
|
|
- **/
|
|
|
-public class RequiredParamsHandler extends HandlerInterceptorAdapter {
|
|
|
- @Override
|
|
|
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
- String requestURI = request.getRequestURI();
|
|
|
- // swagger的文档不校验必填项
|
|
|
- if (requestURI.indexOf(".html") != -1
|
|
|
- || requestURI.indexOf(".js") != -1
|
|
|
- || requestURI.indexOf(".css") != -1
|
|
|
- || requestURI.indexOf("/swagger-resources") != -1
|
|
|
- ) {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- // 从token中解析数据
|
|
|
- SecureAES aes = new SecureAES("63499E35378AE1B0733E3FED7F780B68", "C0E7BD39B52A15C7");
|
|
|
- String tokenStr = request.getHeader("token");
|
|
|
- JSONObject tokenObj = aes.decrypt(tokenStr);
|
|
|
-
|
|
|
- DefaultAppContext.getContext().setAccountId(
|
|
|
- tokenObj.getString(RequiredParamsConstants.ACCOUNT_ID)
|
|
|
- );
|
|
|
- DefaultAppContext.getContext().setGroupCode(
|
|
|
- tokenObj.getString(RequiredParamsConstants.GROUP_CODE)
|
|
|
- );
|
|
|
- DefaultAppContext.getContext().setAppId(
|
|
|
- tokenObj.getString(RequiredParamsConstants.APP_ID)
|
|
|
- );
|
|
|
-
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @description: 校验必填参数
|
|
|
- * @param: request
|
|
|
- * @return: void
|
|
|
- * @exception:
|
|
|
- * @author: lixing
|
|
|
- * @company: Persagy Technology Co.,Ltd
|
|
|
- * @since: 2021/3/9 6:29 下午
|
|
|
- * @version: V1.0
|
|
|
- */
|
|
|
- private void checkeRequiredParams(HttpServletRequest request) {
|
|
|
- String[] requiredParams = {"groupCode", "projectId", "appId", "userId"};
|
|
|
- for (String requiredParam : requiredParams) {
|
|
|
- if (StringUtils.isBlank(request.getParameter(requiredParam))) {
|
|
|
- throw new IllegalArgumentException("缺少必填参数" + requiredParam);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
|
|
- DefaultAppContext.getFactory().unloadContext();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
|
|
- DefaultAppContext.getFactory().unloadContext();
|
|
|
- }
|
|
|
-}
|