From ed1401ccb8dc450e043907a77bc55d362ee27fdc Mon Sep 17 00:00:00 2001
From: kerwincui <164770707@qq.com>
Date: Sun, 5 Jun 2022 13:07:32 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8C=B9=E9=85=8D=E5=8A=A0?=
=?UTF-8?q?=E5=AF=86=E8=AE=A4=E8=AF=81=E5=92=8C=E7=AE=80=E5=8D=95=E8=AE=A4?=
=?UTF-8?q?=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/ruoyi/iot/model/ProductAuthenticateModel.java | 10 ++++++++++
.../com/ruoyi/iot/service/impl/ToolServiceImpl.java | 8 ++++++++
.../src/main/resources/mapper/iot/DeviceMapper.xml | 3 ++-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/ProductAuthenticateModel.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/ProductAuthenticateModel.java
index feb01688..1bfe0e1b 100644
--- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/ProductAuthenticateModel.java
+++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/ProductAuthenticateModel.java
@@ -37,6 +37,16 @@ public class ProductAuthenticateModel {
/** 产品秘钥 */
private String mqttSecret;
+ private int vertificateMethod;
+
+ public int getVertificateMethod() {
+ return vertificateMethod;
+ }
+
+ public void setVertificateMethod(int vertificateMethod) {
+ this.vertificateMethod = vertificateMethod;
+ }
+
public Integer getIsAuthorize() {
return isAuthorize;
}
diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/ToolServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/ToolServiceImpl.java
index 8bdd8b92..c9759ac8 100644
--- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/ToolServiceImpl.java
+++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/ToolServiceImpl.java
@@ -200,6 +200,10 @@ public class ToolServiceImpl implements IToolService
*/
@Override
public ResponseEntity simpleMqttAuthentication(MqttAuthenticationModel mqttModel, ProductAuthenticateModel productModel) {
+ // 1=简单认证,2=加密认证,3=简单+加密认证
+ if(productModel.getVertificateMethod()!=1 && productModel.getVertificateMethod()!=3){
+ return returnUnauthorized(mqttModel, "设备简单认证,设备对应产品不支持简单认证");
+ }
String[] passwordArray = mqttModel.getPassword().split("&");
if (productModel.getIsAuthorize() == 1 && passwordArray.length != 2) {
return returnUnauthorized(mqttModel, "设备简单认证,产品启用授权码后,密码格式为:密码 & 授权码");
@@ -242,6 +246,10 @@ public class ToolServiceImpl implements IToolService
*/
@Override
public ResponseEntity encryptAuthentication(MqttAuthenticationModel mqttModel, ProductAuthenticateModel productModel) throws Exception {
+ // 1=简单认证,2=加密认证,3=简单+加密认证
+ if(productModel.getVertificateMethod()!=2 && productModel.getVertificateMethod()!=3){
+ return returnUnauthorized(mqttModel, "设备加密认证,设备对应产品不支持加密认证");
+ }
String decryptPassword = AESUtils.decrypt(mqttModel.getPassword(), productModel.getMqttSecret());
if (decryptPassword == null || decryptPassword.equals("")) {
return returnUnauthorized(mqttModel, "设备加密认证,mqtt密码解密失败");
diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml
index df45e1d6..6538413f 100644
--- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml
+++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml
@@ -80,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -171,7 +172,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"