Repository: karaf Updated Branches: refs/heads/master 8a3090b5c -> 64dd1f5ae
[KARAF-3022]RBAC - support the JMX operation match starts with a wildcard (cherry picked from commit 36a15776d036f4988732316dfaa4792e2f23d9ca) Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/64dd1f5a Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/64dd1f5a Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/64dd1f5a Branch: refs/heads/master Commit: 64dd1f5ae9fba6d84cf4796dd5ed6998462c617c Parents: 8a3090b Author: Freeman Fang <[email protected]> Authored: Thu Jun 5 14:57:43 2014 +0800 Committer: Freeman Fang <[email protected]> Committed: Thu Jun 5 14:59:01 2014 +0800 ---------------------------------------------------------------------- .../karaf/service/guard/tools/ACLConfigurationParser.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/64dd1f5a/service/guard/src/main/java/org/apache/karaf/service/guard/tools/ACLConfigurationParser.java ---------------------------------------------------------------------- diff --git a/service/guard/src/main/java/org/apache/karaf/service/guard/tools/ACLConfigurationParser.java b/service/guard/src/main/java/org/apache/karaf/service/guard/tools/ACLConfigurationParser.java index 5a5af3e..1449c7b 100644 --- a/service/guard/src/main/java/org/apache/karaf/service/guard/tools/ACLConfigurationParser.java +++ b/service/guard/src/main/java/org/apache/karaf/service/guard/tools/ACLConfigurationParser.java @@ -277,9 +277,12 @@ public class ACLConfigurationParser { for (Enumeration<String> e = properties.keys(); e.hasMoreElements(); ) { String key = e.nextElement(); if (key.endsWith("*")) { - String prefix = key.substring(0, key.length() - 1); - if (methodName.startsWith(prefix)) { - wildcardRules.put(prefix, properties.get(key).toString()); + String str = key.substring(0, key.length() - 1); + if (str.startsWith("*")) { + str = str.substring(1); + } + if (methodName.contains(str)) { + wildcardRules.put(str, properties.get(key).toString()); } } }
