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"