| | |
| | | package com.yeshi.fanli.aspect;
|
| | |
|
| | | import java.io.IOException;
|
| | | import java.io.PrintWriter;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Arrays;
|
| | |
| | | KEY = Constant.systemCommonConfig.getSignKey();
|
| | | }
|
| | |
|
| | | // @Around(EDP)
|
| | | public Object testAround(ProceedingJoinPoint joinPoint) throws IOException {
|
| | | @Around(EDP)
|
| | | public Object testAround(ProceedingJoinPoint joinPoint) throws Throwable {
|
| | | Object[] args = joinPoint.getArgs();
|
| | | PrintWriter out = null;
|
| | | ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
|
| | |
| | |
|
| | | } catch (Throwable e) {
|
| | | LogHelper.errorDetailInfo(e, getHttpServletParams(request), request.getRequestURI().toString());
|
| | | out.print(JsonUtil.loadFalseResult(90009, "服务器内部错误"));
|
| | | if (!Constant.IS_TEST)
|
| | | out.print(JsonUtil.loadFalseResult(90009, "服务器内部错误"));
|
| | | else
|
| | | throw e;
|
| | | }
|
| | | return obj;
|
| | | } else {
|
| | |
| | | data.put("msg", "签名错误");
|
| | | out.print(data);
|
| | | out.close();
|
| | | LogHelper.error("签名错误:" + getHttpServletParams(request));
|
| | | LogHelper.error("签名错误:" + request.getRequestURI() + "-" + getHttpServletParams(request));
|
| | | return null;
|
| | | }
|
| | | }
|
| | |
| | | while (its.hasNext()) {
|
| | | String key = its.next();
|
| | |
|
| | | if (key.equalsIgnoreCase("callback")) {
|
| | | fromWEB = true;
|
| | | }
|
| | | // if (key.equalsIgnoreCase("callback")) {
|
| | | // fromWEB = true;
|
| | | // }
|
| | |
|
| | | if (key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("callback") || key.equalsIgnoreCase("_")) {
|
| | | continue;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public static boolean signIsRight(JSONObject json) {
|
| | | List<String> list = new ArrayList<>();
|
| | | for (Iterator<String> its = json.keySet().iterator(); its.hasNext();) {
|
| | | String key = its.next();
|
| | | if (!key.equalsIgnoreCase("sign"))
|
| | | list.add(key + "=" + json.optString(key));
|
| | | }
|
| | | Collections.sort(list);
|
| | | String str = "";
|
| | | for (String st : list) {
|
| | | str += st + "&";
|
| | | }
|
| | | String sign = StringUtil.Md5(str + KEY);
|
| | | if (sign.equalsIgnoreCase(json.optString("sign"))) {
|
| | | return true;
|
| | | } else {
|
| | | return false;
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|