diff --git a/smqtt-core/src/main/java/io/github/quickmsg/core/acl/JCasBinAclManager.java b/smqtt-core/src/main/java/io/github/quickmsg/core/acl/JCasBinAclManager.java index b66d9c0b789304dba4cdcd7a63718cd73a7a9867..bc613224a6536e416727d0e9a050e0322e89a661 100644 --- a/smqtt-core/src/main/java/io/github/quickmsg/core/acl/JCasBinAclManager.java +++ b/smqtt-core/src/main/java/io/github/quickmsg/core/acl/JCasBinAclManager.java @@ -30,7 +30,7 @@ public class JCasBinAclManager implements AclManager { model.addDef("r", "r", "sub, obj, act"); model.addDef("p", "p", "sub, obj, act"); model.addDef("e", "e", "some(where (p.eft == allow))"); - model.addDef("m", "m", "r.sub == p.sub && r.obj == p.obj && r.act == p.act"); + model.addDef("m", "m", "keyMatch(r.sub, p.sub) && keyMatch(r.obj, p.obj) && r.act == p.act"); if (aclConfig.getAclPolicy() == AclPolicy.JDBC) { AclConfig.JdbcAclConfig jdbcAclConfig = aclConfig.getJdbcAclConfig(); Objects.requireNonNull(jdbcAclConfig);