You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2016/08/22 09:30:48 UTC

[50/50] [abbrv] karaf git commit: [KARAF-4636]karaf.secured.command.compulsory.roles does not work

[KARAF-4636]karaf.secured.command.compulsory.roles does not work

(cherry picked from commit b90072722b45985e73a89ee85adce9c3a3011e95)


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

Branch: refs/heads/master
Commit: 2f05d66499aa60e7f60762accdd51f00006d204f
Parents: dbb58a5
Author: Freeman Fang <fr...@gmail.com>
Authored: Thu Aug 18 10:53:41 2016 +0800
Committer: Jean-Baptiste Onofr� <jb...@apache.org>
Committed: Mon Aug 22 11:29:22 2016 +0200

----------------------------------------------------------------------
 .../service/guard/tools/ACLConfigurationParser.java     | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/2f05d664/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 d47ada2..a5812b9 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
@@ -18,6 +18,8 @@ package org.apache.karaf.service.guard.tools;
 
 import java.util.*;
 
+import org.apache.karaf.service.guard.impl.GuardProxyCatalog;
+
 public class ACLConfigurationParser {
 
     // note that the order of the enums is important. Needs to be from most specific to least specific.
@@ -29,6 +31,12 @@ public class ACLConfigurationParser {
         NO_MATCH
     };
 
+    static String compulsoryRoles;
+    
+    static {
+        compulsoryRoles = System.getProperty(GuardProxyCatalog.KARAF_SECURED_COMMAND_COMPULSORY_ROLES_PROPERTY);
+    }
+    
     /**
      * <p>Returns the roles that can invoke the given operation. This is determined by matching the
      * operation details against configuration provided.</p>
@@ -93,9 +101,13 @@ public class ACLConfigurationParser {
         if (roles != null) {
             addToRoles.addAll(roles);
             return Specificity.WILDCARD_MATCH;
+        } else if (compulsoryRoles != null){
+            addToRoles.addAll(ACLConfigurationParser.parseRoles(compulsoryRoles));
+            return Specificity.NAME_MATCH;
         } else {
             return Specificity.NO_MATCH;
         }
+            
     }
 
     private static Specificity getRolesBasedOnSignature(String methodName, Object[] params, String[] signature,