From a51ba771e45114bbbc1654904f42df7995d5103a Mon Sep 17 00:00:00 2001 From: chenjiahe <763432473@qq.com> Date: 星期二, 30 十一月 2021 19:40:43 +0800 Subject: [PATCH] 更改校验方式 --- src/main/java/com/platform/verification/VerificationTool.java | 24 +++++++++--- src/main/java/com/platform/constants/LoginConstant.java | 9 ++++ src/main/java/com/platform/verification/ApplicationTool.java | 44 ++++++++++++++++++++++ src/main/java/com/platform/entity/ThirtApplication.java | 36 ++++++++++++++++++ 4 files changed, 107 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/platform/constants/LoginConstant.java b/src/main/java/com/platform/constants/LoginConstant.java new file mode 100644 index 0000000..9982ff5 --- /dev/null +++ b/src/main/java/com/platform/constants/LoginConstant.java @@ -0,0 +1,9 @@ +package com.platform.constants; + +public class LoginConstant { + + /**鐧诲綍搴旂敤鏍囪瘑*/ + public static final String LOGIN_APPLY = "login_apply"; + + +} diff --git a/src/main/java/com/platform/entity/ThirtApplication.java b/src/main/java/com/platform/entity/ThirtApplication.java new file mode 100644 index 0000000..f49ed22 --- /dev/null +++ b/src/main/java/com/platform/entity/ThirtApplication.java @@ -0,0 +1,36 @@ +package com.platform.entity; + +public class ThirtApplication { + + /**搴旂敤appid*/ + private String appId; + /**搴旂敤鍚嶇О*/ + private String name; + /***/ + private String privateKey; + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPrivateKey() { + return privateKey; + } + + public void setPrivateKey(String privateKey) { + this.privateKey = privateKey; + } + +} diff --git a/src/main/java/com/platform/verification/ApplicationTool.java b/src/main/java/com/platform/verification/ApplicationTool.java new file mode 100644 index 0000000..1d35829 --- /dev/null +++ b/src/main/java/com/platform/verification/ApplicationTool.java @@ -0,0 +1,44 @@ +package com.platform.verification; + + +import com.alibaba.fastjson.JSONObject; +import com.hx.redis.RedisUtil; +import com.hx.util.DateUtil; +import com.hx.util.StringUtils; +import com.hx.util.rsa.RSAUtil; +import com.platform.entity.ThirtApplication; +import com.platform.resultTool.PlatformCode; +import com.platform.resultTool.PlatformResult; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/**搴旂敤杞寲 + * @author CJH + * @date 2021-10-20 + */ +public class ApplicationTool { + + /**鑾峰彇搴旂敤鍦╮edis涓婇潰鐨勬暟鎹� + * @param appId 鐢ㄦ埛鐨凙PPID ` + * @param redisUtil redisUtil + * @return + */ + public static ThirtApplication jsonToEntity(String appId, RedisUtil redisUtil){ + + if (StringUtils.isEmpty(appId)) { + return null; + } + + JSONObject thirtApplication = (JSONObject) redisUtil.get(appId); + + //鏍¢獙appid鏄惁瀛樺湪 + if(thirtApplication == null){ + return null; + } + ThirtApplication application = JSONObject.parseObject(thirtApplication.toString(),ThirtApplication.class); + + return application; + } + +} diff --git a/src/main/java/com/platform/verification/VerificationTool.java b/src/main/java/com/platform/verification/VerificationTool.java index f5b8836..c4b1832 100644 --- a/src/main/java/com/platform/verification/VerificationTool.java +++ b/src/main/java/com/platform/verification/VerificationTool.java @@ -1,12 +1,17 @@ package com.platform.verification; +import com.alibaba.fastjson.JSONObject; +import com.hx.redis.RedisUtil; import com.hx.util.DateUtil; import com.hx.util.StringUtils; import com.hx.util.rsa.RSAUtil; +import com.platform.constants.LoginConstant; +import com.platform.entity.ThirtApplication; import com.platform.resultTool.PlatformCode; import com.platform.resultTool.PlatformResult; +import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; @@ -17,13 +22,12 @@ public class VerificationTool { /**鏍¢獙鏂规硶璇锋眰 - * @param appId 鐢ㄦ埛鐨凙PPID + * @param appId 鐢ㄦ埛鐨凙PPID ` * @param sign 鐢ㄦ埛绛惧悕 - * @param sys_appId 绯荤粺鐨刟ppid - * @param sys_private_key 绯荤粺鐨凴SA绉橀挜 + * @param thirtApplication ThirtApplication * @return */ - public static PlatformResult verification(String appId,String sign,String sys_appId,String sys_private_key){ + public static PlatformResult verification(String appId, String sign, ThirtApplication thirtApplication,HttpServletRequest request){ if (StringUtils.isEmpty(sign)) { return PlatformResult.failure(PlatformCode.ERROR_SIGN, "绛惧悕閿欒01"); @@ -33,14 +37,19 @@ } //鏍¢獙appid鏄惁瀛樺湪 - if(!sys_appId.equals(appId)){ + if(thirtApplication == null){ return PlatformResult.failure(PlatformCode.ERROR_APPIS, "APPID鏃犳晥"); + } + + + if(StringUtils.isEmpty(thirtApplication.getPrivateKey())){ + return PlatformResult.failure(PlatformCode.ERROR_SIGN, "绛惧悕閿欒,APPID鏃犳晥"); } //瑙e瘑RSA String decrypt = null; try{ - decrypt = RSAUtil.privateDecrypt(sign, sys_private_key); + decrypt = RSAUtil.privateDecrypt(sign, thirtApplication.getPrivateKey()); }catch (Exception e){ } @@ -73,6 +82,9 @@ return PlatformResult.failure(PlatformCode.ERRO_VISIT_OVERTIMR, "璁块棶瓒呮椂"); } + thirtApplication.setPrivateKey(null); + request.setAttribute(LoginConstant.LOGIN_APPLY,thirtApplication); + return PlatformResult.success(); } -- Gitblit v1.8.0