You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by lm...@apache.org on 2015/04/15 02:14:57 UTC

knox git commit: KNOX-529 - Fix wildcard based principal group mapping

Repository: knox
Updated Branches:
  refs/heads/master cc9e4cfc7 -> 48fba646f


KNOX-529 - Fix wildcard based principal group mapping

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

Branch: refs/heads/master
Commit: 48fba646f34fd0025089351ee41e5ee138ecd8fb
Parents: cc9e4cf
Author: Larry McCay <lm...@hortonworks.com>
Authored: Tue Apr 14 20:14:49 2015 -0400
Committer: Larry McCay <lm...@hortonworks.com>
Committed: Tue Apr 14 20:14:49 2015 -0400

----------------------------------------------------------------------
 .../security/principal/SimplePrincipalMapper.java  |  3 +++
 .../security/principal/PrincipalMapperTest.java    | 17 +++++++++++++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/48fba646/gateway-spi/src/main/java/org/apache/hadoop/gateway/security/principal/SimplePrincipalMapper.java
----------------------------------------------------------------------
diff --git a/gateway-spi/src/main/java/org/apache/hadoop/gateway/security/principal/SimplePrincipalMapper.java b/gateway-spi/src/main/java/org/apache/hadoop/gateway/security/principal/SimplePrincipalMapper.java
index 6c91b2c..e1623e7 100644
--- a/gateway-spi/src/main/java/org/apache/hadoop/gateway/security/principal/SimplePrincipalMapper.java
+++ b/gateway-spi/src/main/java/org/apache/hadoop/gateway/security/principal/SimplePrincipalMapper.java
@@ -97,6 +97,9 @@ public class SimplePrincipalMapper implements PrincipalMapper {
     
     if (groupMappings != null) {
       groups = groupMappings.get(principalName);
+      if (groups == null) {
+        groups = groupMappings.get("*");
+      }
     }
     
     return groups;

http://git-wip-us.apache.org/repos/asf/knox/blob/48fba646/gateway-spi/src/test/java/org/apache/hadoop/gateway/security/principal/PrincipalMapperTest.java
----------------------------------------------------------------------
diff --git a/gateway-spi/src/test/java/org/apache/hadoop/gateway/security/principal/PrincipalMapperTest.java b/gateway-spi/src/test/java/org/apache/hadoop/gateway/security/principal/PrincipalMapperTest.java
index e50f5b2..890a46f 100644
--- a/gateway-spi/src/test/java/org/apache/hadoop/gateway/security/principal/PrincipalMapperTest.java
+++ b/gateway-spi/src/test/java/org/apache/hadoop/gateway/security/principal/PrincipalMapperTest.java
@@ -37,6 +37,23 @@ public class PrincipalMapperTest {
   public void setup() {
     mapper = new SimplePrincipalMapper();
   }
+
+  @Test
+  public void testSimplePrincipalMappingWithWildcardGroups() {
+    String principalMapping = "";
+    String groupMapping = "*=users";
+    try {
+      mapper.loadMappingTable(principalMapping, groupMapping);
+    }
+    catch (PrincipalMappingException pme) {
+      pme.printStackTrace();
+      fail();
+    }
+    
+    assertTrue(mapper.mapUserPrincipal("lmccay").equals("lmccay"));
+    assertTrue(mapper.mapGroupPrincipal("hdfs")[0].equals("users"));
+    assertTrue(mapper.mapGroupPrincipal("lmccay")[0].equals("users"));
+  }
   
   @Test
   public void testNonNullSimplePrincipalMappingWithGroups() {