admin
2020-07-14 eec7e789a87863c25d92c10ad5dfc22ad80c448d
fanli/src/main/java/com/yeshi/fanli/aspect/H5SignValidateAspect.java
@@ -11,6 +11,8 @@
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.util.SystemInfoUtil;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Around;
@@ -26,6 +28,7 @@
import com.yeshi.fanli.util.annotation.RequestNoSignValidate;
import net.sf.json.JSONObject;
import org.yeshi.utils.SystemUtil;
//客户端接口签名验证
@Component
@@ -38,10 +41,19 @@
   @Around(EDP)
   public Object appH5Around(ProceedingJoinPoint joinPoint) throws IOException {
      Object[] args = joinPoint.getArgs();
      ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
            .getRequestAttributes();
      HttpServletRequest request = servletContainer.getRequest();
      AcceptData acceptData = null;
      for (Object obj : args) {
         if (obj instanceof AcceptData) {
            acceptData = (AcceptData) obj;
         }
      }
      Signature signature = joinPoint.getSignature();
      MethodSignature methodSignature = (MethodSignature) signature;
@@ -56,9 +68,12 @@
         e2.printStackTrace();
      }
      Object[] args = joinPoint.getArgs();
      // 判断是否有忽略验证的注解
      if (realMethod != null && realMethod.isAnnotationPresent(RequestNoSignValidate.class)) {
         if(acceptData!=null){
            acceptData.setSystem(SystemInfoUtil.getSystem(acceptData));
         }
         try {
            return joinPoint.proceed(args);
         } catch (Throwable e) {
@@ -81,6 +96,9 @@
      // 签名是否正确
      if (isRight) {
         if(acceptData!=null){
            acceptData.setSystem(SystemInfoUtil.getSystem(acceptData));
         }
         Object obj = null;
         try {
            obj = joinPoint.proceed(args);