Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 530924560 -> 5e9b1c563


[KARAF-3022]RBAC - support the JMX operation match starts with a wildcard


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/5e9b1c56
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/5e9b1c56
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/5e9b1c56

Branch: refs/heads/karaf-2.x
Commit: 5e9b1c5635381537cd05668ea7d9e8819df05609
Parents: 5309245
Author: Freeman Fang <[email protected]>
Authored: Thu Jun 5 14:48:20 2014 +0800
Committer: Freeman Fang <[email protected]>
Committed: Thu Jun 5 14:48:20 2014 +0800

----------------------------------------------------------------------
 .../karaf/management/tools/ACLConfigurationParser.java      | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/5e9b1c56/management/server/src/main/java/org/apache/karaf/management/tools/ACLConfigurationParser.java
----------------------------------------------------------------------
diff --git 
a/management/server/src/main/java/org/apache/karaf/management/tools/ACLConfigurationParser.java
 
b/management/server/src/main/java/org/apache/karaf/management/tools/ACLConfigurationParser.java
index ae291d9..ab291e2 100644
--- 
a/management/server/src/main/java/org/apache/karaf/management/tools/ACLConfigurationParser.java
+++ 
b/management/server/src/main/java/org/apache/karaf/management/tools/ACLConfigurationParser.java
@@ -283,9 +283,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());
                 }
             }
         }

Reply via email to