Repository: karaf
Updated Branches:
  refs/heads/karaf-3.0.x 8c60f0e6a -> 36a15776d


[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/36a15776
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/36a15776
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/36a15776

Branch: refs/heads/karaf-3.0.x
Commit: 36a15776d036f4988732316dfaa4792e2f23d9ca
Parents: 8c60f0e
Author: Freeman Fang <[email protected]>
Authored: Thu Jun 5 14:57:43 2014 +0800
Committer: Freeman Fang <[email protected]>
Committed: Thu Jun 5 14:57:43 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/36a15776/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());
                 }
             }
         }

Reply via email to