From c9baa6a89e941675e06d813c6766fe89e3d5d16c Mon Sep 17 00:00:00 2001 From: zc Date: Tue, 16 Dec 2025 09:34:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mqtt/server/auth/MqttAuthHandler.java | 21 ++++++++++++++++++- .../src/main/resources/application-prod.yml | 12 +++++++++++ .../src/main/resources/application.yml | 10 ++++----- 3 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 example/mica-mqtt-server-spring-boot-example/src/main/resources/application-prod.yml diff --git a/example/mica-mqtt-server-spring-boot-example/src/main/java/org/dromara/mica/mqtt/server/auth/MqttAuthHandler.java b/example/mica-mqtt-server-spring-boot-example/src/main/java/org/dromara/mica/mqtt/server/auth/MqttAuthHandler.java index 338e406..5c879b2 100644 --- a/example/mica-mqtt-server-spring-boot-example/src/main/java/org/dromara/mica/mqtt/server/auth/MqttAuthHandler.java +++ b/example/mica-mqtt-server-spring-boot-example/src/main/java/org/dromara/mica/mqtt/server/auth/MqttAuthHandler.java @@ -1,6 +1,8 @@ package org.dromara.mica.mqtt.server.auth; import org.dromara.mica.mqtt.core.server.auth.IMqttServerAuthHandler; +import org.dromara.mica.mqtt.spring.server.config.MqttServerProperties; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.tio.core.ChannelContext; @@ -12,10 +14,27 @@ import org.tio.core.ChannelContext; @Configuration(proxyBeanMethods = false) public class MqttAuthHandler implements IMqttServerAuthHandler { + @Value("${mqtt.server.auth.enable}") + private boolean enable; + + @Value("${mqtt.server.auth.username}") + private String username; + + @Value("${mqtt.server.auth.password}") + private String password; + @Override public boolean authenticate(ChannelContext context, String uniqueId, String clientId, String username, String password) { // 客户端认证逻辑实现 - return true; + if (enable) { + if (username.equals(this.username) && password.equals(this.password)) { + return true; + } else { + return false; + } + } else { + return false; + } } } diff --git a/example/mica-mqtt-server-spring-boot-example/src/main/resources/application-prod.yml b/example/mica-mqtt-server-spring-boot-example/src/main/resources/application-prod.yml new file mode 100644 index 0000000..89b97f8 --- /dev/null +++ b/example/mica-mqtt-server-spring-boot-example/src/main/resources/application-prod.yml @@ -0,0 +1,12 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://192.168.33.96:3306/xa_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: Xahg2024. + data: + redis: + host: 192.168.33.96 + port: 6379 + password: + database: 1 diff --git a/example/mica-mqtt-server-spring-boot-example/src/main/resources/application.yml b/example/mica-mqtt-server-spring-boot-example/src/main/resources/application.yml index fd459ed..caf558c 100644 --- a/example/mica-mqtt-server-spring-boot-example/src/main/resources/application.yml +++ b/example/mica-mqtt-server-spring-boot-example/src/main/resources/application.yml @@ -6,8 +6,8 @@ spring: name: mica-mqtt-server # 环境 dev|test|prod profiles: - active: dev - # active: prod +# active: dev + active: prod messages: encoding: UTF-8 basename: i18n/messages @@ -57,9 +57,9 @@ mqtt: read-buffer-size: 8KB # 接收数据的 buffer size,默认:8k max-bytes-in-message: 10MB # 消息解析最大 bytes 长度,默认:10M auth: - enable: false # 是否开启 mqtt 认证 - username: mica # mqtt 认证用户名 - password: mica # mqtt 认证密码 + enable: true # 是否开启 mqtt 认证 + username: admin # mqtt 认证用户名 + password: admin@123 # mqtt 认证密码 debug: true # 如果开启 prometheus 指标收集建议关闭 stat-enable: true # 开启指标收集,debug 和 prometheus 开启时需要打开,默认开启,关闭节省内存 mqtt-listener: # mqtt 监听器