夏文涛 1 سال پیش
والد
کامیت
de6f268d71

+ 4 - 0
src/main/java/com/template/api/LoginControllerAPI.java

@@ -18,6 +18,10 @@ import javax.validation.Valid;
 @Api(tags = {"LoginController"}, value = "登录")
 public interface LoginControllerAPI {
 
+    @GetMapping(value = "/getAesStr")
+    @ApiOperation(value = "获取密钥", notes = "获取密钥", httpMethod = "GET")
+    CommonResult getAesStr();
+
     @GetMapping(value = "/queryReduce")
     @ApiOperation(value = "查看系统版本", notes = "查看系统版本", httpMethod = "GET")
     CommonResult queryReduce();

+ 1 - 0
src/main/java/com/template/api/WechatScanLoginControllerAPI.java

@@ -37,6 +37,7 @@ public interface WechatScanLoginControllerAPI {
     @ResponseBody
     public String insertElecMeterDetail() throws Exception;
 
+
     @RequestMapping(value = "/insertWatMeterDetail")
     @ResponseBody
     public String insertWatMeterDetail() throws Exception;

+ 14 - 0
src/main/java/com/template/controller/LoginController.java

@@ -16,6 +16,7 @@ import com.template.common.utils.AesUtils;
 import com.template.common.utils.paramUtils;
 import com.template.common.utils.JWTUtil;
 import com.template.services.SmartUserService;
+import com.template.services.WechatScanLoginService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,8 +45,21 @@ public class LoginController implements LoginControllerAPI {
     @Autowired
     private SmartUserService smartUserService;
 
+    @Autowired
+    private WechatScanLoginService wechatScanLoginService;
+
     private static Logger logger = LoggerFactory.getLogger(LoginController.class);
 
+    @Override
+    @DESRespondSecret(validated = true)
+    @PassToken
+    public CommonResult getAesStr(){
+        String str = wechatScanLoginService.getAesStr();
+        return CommonResult.ok("200","state参数",str);
+    }
+
+
+
     /**
      * 查看系统版本号
      *

+ 7 - 4
src/main/java/com/template/controller/WechatScanLoginController.java

@@ -62,6 +62,8 @@ import java.util.stream.Collectors;
  * @date 2018年9月7日
  */
 @Controller
+//返回参数加密注解
+@DESRespondSecret
 public class WechatScanLoginController implements WechatScanLoginControllerAPI {
     private static Logger logger = LoggerFactory.getLogger(WechatScanLoginController.class);
 
@@ -104,6 +106,7 @@ public class WechatScanLoginController implements WechatScanLoginControllerAPI {
         return "redirect:" + url;
     }
 
+
     /**
      * Title: callback
      * Description: 回调地址处理
@@ -118,10 +121,10 @@ public class WechatScanLoginController implements WechatScanLoginControllerAPI {
         logger.info(code + "=====" + state);
         if (code != null && state != null) {
             // 验证state为了用于防止跨站请求伪造攻击
-//            String decrypt = AesUtil.decrypt(AesUtil.parseHexStr2Byte(state), AesUtil.PASSWORD_SECRET_KEY, 16);
-//            if (!decrypt.equals(Constanst.PWD_MD5 + DateUtils.getYYYYMMdd())) {
-//                return "redirect:" + HttpParame.FRONT_URI + "/#/login?message=" + URLEncoder.encode("请勿非法进入", "UTF-8");
-//            }
+            String decrypt = AesUtil.decrypt(AesUtil.parseHexStr2Byte(state), AesUtil.PASSWORD_SECRET_KEY, 16);
+            if (!decrypt.equals(Constanst.PWD_MD5 + DateUtils.getYYYYMMdd())) {
+                return "redirect:" + HttpParame.FRONT_URI + "/#/login?message=" + URLEncoder.encode("请勿非法进入", "UTF-8");
+            }
             AccessToken access = wechatScanLoginService.getAccessToken(code);
             logger.info("access:" + access);
             if (access != null) {

+ 2 - 0
src/main/java/com/template/services/WechatScanLoginService.java

@@ -38,6 +38,8 @@ public interface WechatScanLoginService {
 
 	int updateSmartUser(SmartUser sa);
 
+	String getAesStr();
+
 	// 用户类别统计
 	 List<Tj> getUserIdTj();
 

+ 8 - 0
src/main/java/com/template/services/impl/WechatScanLoginServiceImpl.java

@@ -73,6 +73,14 @@ public class WechatScanLoginServiceImpl implements WechatScanLoginService {
     }
 
     @Override
+    public String getAesStr(){
+        String content = Constanst.PWD_MD5 + DateUtils.getYYYYMMdd();
+        byte[] encrypt = AesUtil.encrypt(content, AesUtil.PASSWORD_SECRET_KEY, 16);
+        String parseByte2HexStr = AesUtil.parseByte2HexStr(encrypt);
+        return parseByte2HexStr;
+    }
+
+    @Override
     public Map<String, String> wechatBindUrl(String phone, String messageCode) {
         String content = Constanst.PWD_MD5 + DateUtils.getYYYYMMdd();
         byte[] encrypt = AesUtil.encrypt(content, AesUtil.PASSWORD_SECRET_KEY, 16);