Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Mqtt Cluster
Commits
c0204990
Commit
c0204990
authored
2 years ago
by
luxurong
Browse files
Options
Download
Email Patches
Plain Diff
1
parent
40f88d7f
1.1.5
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
smqtt-core/src/main/java/io/github/quickmsg/core/acl/JCasBinAclManager.java
+14
-8
...n/java/io/github/quickmsg/core/acl/JCasBinAclManager.java
with
14 additions
and
8 deletions
+14
-8
smqtt-core/src/main/java/io/github/quickmsg/core/acl/JCasBinAclManager.java
+
14
-
8
View file @
c0204990
...
...
@@ -48,25 +48,31 @@ public class JCasBinAclManager implements AclManager {
try
{
enforcer
=
new
Enforcer
(
model
,
new
JDBCAdapter
(
jdbcAclConfig
.
getDriver
(),
jdbcAclConfig
.
getUrl
(),
jdbcAclConfig
.
getUsername
(),
jdbcAclConfig
.
getPassword
()));
this
.
loadAclCache
();
}
catch
(
Exception
e
)
{
log
.
error
(
"init acl jdbc error {}"
,
aclConfig
,
e
);
}
}
else
if
(
aclConfig
.
getAclPolicy
()
==
AclPolicy
.
FILE
)
{
enforcer
=
new
Enforcer
(
model
,
new
FileAdapter
(
aclConfig
.
getFilePath
()));
this
.
loadAclCache
();
}
else
{
isOpen
=
false
;
enforcer
=
new
Enforcer
();
}
enforcer
.
addFunction
(
"filter"
,
new
AclFunction
());
List
<
String
>
objects
=
enforcer
.
getAllObjects
();
List
<
String
>
actions
=
enforcer
.
getAllActions
();
for
(
int
i
=
0
;
i
<
objects
.
size
();
i
++)
{
Set
<
String
>
allObjects
=
filterAclTopicActions
.
computeIfAbsent
(
actions
.
get
(
i
),
a
->
new
HashSet
<>());
allObjects
.
add
(
objects
.
get
(
i
));
}
isOpen
=
true
;
}
}
private
void
loadAclCache
()
{
enforcer
.
addFunction
(
"filter"
,
new
AclFunction
());
List
<
String
>
objects
=
enforcer
.
getAllObjects
();
List
<
String
>
actions
=
enforcer
.
getAllActions
();
for
(
int
i
=
0
;
i
<
objects
.
size
();
i
++)
{
Set
<
String
>
allObjects
=
filterAclTopicActions
.
computeIfAbsent
(
actions
.
get
(
i
),
a
->
new
HashSet
<>());
allObjects
.
add
(
objects
.
get
(
i
));
}
isOpen
=
true
;
}
@Override
public
boolean
check
(
MqttChannel
mqttChannel
,
String
source
,
AclAction
action
)
{
try
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help