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"