Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica-mqtt
提交
5b721530
mica-mqtt
项目概览
mica
/
mica-mqtt
通知
71
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica-mqtt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5b721530
编写于
12月 24, 2021
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
梳理更新记录。
上级
7ef7f6fa
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
6 addition
and
4 deletion
+6
-4
CHANGELOG.md
CHANGELOG.md
+2
-1
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/auth/IMqttServerPublishPermission.java
...t/mqtt/core/server/auth/IMqttServerPublishPermission.java
+2
-1
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/support/DefaultMqttServerProcessor.java
.../mqtt/core/server/support/DefaultMqttServerProcessor.java
+2
-2
未找到文件。
CHANGELOG.md
浏览文件 @
5b721530
...
...
@@ -4,7 +4,8 @@
### v1.2.2 - 2021-12-26
-
:sparkles: mica-mqtt server 添加发布权限接口,无权限直接断开连接,避免高级别 qos 重试浪费资源。
-
:sparkles: mica-mqtt-broker 优化节点信息存储
-
:sparkles: mqtt client 抽象 IMqttClientSession 接口。
-
:sparkles: mica-mqtt client 重复订阅优化。感谢
`@一片小雨滴`
-
:sparkles: mica-mqtt client 抽象 IMqttClientSession 接口。
-
:bug: 修复重构 AbstractMqttMessageDispatcher 保持跟 mica-mqtt-broker 逻辑一致 gitee #I4MA6A 感谢
`@胡萝博`
-
:arrow_up: mica-mqtt-example 升级 log4j2 到 2.17.0
...
...
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/auth/IMqttServerPublishPermission.java
浏览文件 @
5b721530
...
...
@@ -33,8 +33,9 @@ public interface IMqttServerPublishPermission {
* @param clientId 客户端 id
* @param topic topic
* @param qoS MqttQoS
* @param isRetain 是否保留消息
* @return 否有发布权限
*/
boolean
hasPermission
(
ChannelContext
context
,
String
clientId
,
String
topic
,
MqttQoS
qoS
);
boolean
hasPermission
(
ChannelContext
context
,
String
clientId
,
String
topic
,
MqttQoS
qoS
,
boolean
isRetain
);
}
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/support/DefaultMqttServerProcessor.java
浏览文件 @
5b721530
...
...
@@ -199,7 +199,7 @@ public class DefaultMqttServerProcessor implements MqttServerProcessor {
MqttPublishVariableHeader
variableHeader
=
message
.
variableHeader
();
String
topicName
=
variableHeader
.
topicName
();
// 1. 判断是否有发布权限,没有权限则断开 mqtt 连接 mqtt 5.x qos1、qos2 可以响应 reasonCode
if
(
publishPermission
!=
null
&&
!
publishPermission
.
hasPermission
(
context
,
clientId
,
topicName
,
mqttQoS
))
{
if
(
publishPermission
!=
null
&&
!
publishPermission
.
hasPermission
(
context
,
clientId
,
topicName
,
mqttQoS
,
fixedHeader
.
isRetain
()
))
{
Tio
.
remove
(
context
,
"Mqtt clientId:"
+
clientId
+
" publish topic: "
+
topicName
+
" no permission."
);
return
;
}
...
...
@@ -428,7 +428,7 @@ public class DefaultMqttServerProcessor implements MqttServerProcessor {
message
.
setPayload
(
payload
);
}
message
.
setMessageType
(
MessageType
.
UP_STREAM
);
message
.
setRetain
(
fixedHeader
.
isRetain
()
);
message
.
setRetain
(
isRetain
);
message
.
setDup
(
fixedHeader
.
isDup
());
message
.
setTimestamp
(
System
.
currentTimeMillis
());
Node
clientNode
=
context
.
getClientNode
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录