You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2015/10/20 10:31:02 UTC

karaf git commit: [KARAF-4024]role.policy group ceased to function

Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 7d16949eb -> b12ea914b


[KARAF-4024]role.policy group ceased to function


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

Branch: refs/heads/karaf-2.x
Commit: b12ea914b13ada669eabeffddf8ade1e2540a614
Parents: 7d16949
Author: Freeman Fang <fr...@gmail.com>
Authored: Tue Oct 20 16:30:47 2015 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Tue Oct 20 16:30:47 2015 +0800

----------------------------------------------------------------------
 .../jaas/boot/principal/GroupPrincipal.java     | 25 +++++++++++++++++++-
 .../karaf/jaas/boot/principal/RolePolicy.java   |  7 +++---
 2 files changed, 28 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/b12ea914/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
----------------------------------------------------------------------
diff --git a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
index cb0f8f0..8418b23 100644
--- a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
+++ b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
@@ -15,11 +15,16 @@
 package org.apache.karaf.jaas.boot.principal;
 
 import java.security.Principal;
+import java.security.acl.Group;
+import java.util.Enumeration;
+import java.util.Hashtable;
 
-public class GroupPrincipal implements Principal {
+public class GroupPrincipal implements Group {
 
     private String name;
 
+    private Hashtable<String,Principal> members = new Hashtable<String, Principal>();
+    
     public GroupPrincipal(String name) {
         assert name != null;
         this.name = name;
@@ -49,4 +54,22 @@ public class GroupPrincipal implements Principal {
     public String toString() {
         return "GroupPrincipal[" + name + "]";
     }
+
+    public boolean addMember(Principal user) {
+        members.put(user.getName(), user);
+        return true;
+    }
+
+    public boolean removeMember(Principal user) {
+        members.remove(user.getName());
+        return true;
+    }
+
+    public boolean isMember(Principal member) {
+        return members.contains(member.getName());
+    }
+
+    public Enumeration<? extends Principal> members() {
+        return members.elements();
+    }
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/b12ea914/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/RolePolicy.java
----------------------------------------------------------------------
diff --git a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/RolePolicy.java b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/RolePolicy.java
index 517b05b..c4d67fc 100644
--- a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/RolePolicy.java
+++ b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/RolePolicy.java
@@ -15,6 +15,7 @@
 package org.apache.karaf.jaas.boot.principal;
 
 import java.security.Principal;
+import java.security.acl.Group;
 import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.Map;
@@ -35,8 +36,8 @@ public enum RolePolicy {
                 }
             }
         }
-    }; // ,
-    /* TODO Is this used anywhere?
+    },
+    
     GROUP_ROLES("group") {
         public void handleRoles(Subject subject,Set<Principal> principals,String discriminator) {
             Group group = new GroupPrincipal(discriminator);
@@ -50,7 +51,7 @@ public enum RolePolicy {
             subject.getPrincipals().add(group);
         }
     };
-    */
+    
 
     private String value;