[jboss-cvs] JBossAS SVN: r86665 - branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 2 08:22:17 EDT 2009


Author: mmoyses
Date: 2009-04-02 08:22:17 -0400 (Thu, 02 Apr 2009)
New Revision: 86665

Modified:
   branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/SimpleGroup.java
Log:
JBPAPP-1841: modifying SimpleGoups.isMember to check for for SimplePrincipals in case of EJB authorization

Modified: branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/SimpleGroup.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/SimpleGroup.java	2009-04-02 12:20:23 UTC (rev 86664)
+++ branches/JBPAPP_4_2_0_GA_CP/security/src/main/org/jboss/security/SimpleGroup.java	2009-04-02 12:22:17 UTC (rev 86665)
@@ -21,7 +21,9 @@
  */
 package org.jboss.security;
 
+import java.security.AccessController;
 import java.security.Principal;
+import java.security.PrivilegedAction;
 import java.security.acl.Group;
 import java.util.Collection;
 import java.util.Collections;
@@ -43,6 +45,8 @@
    
    private HashMap members;
 
+   private static final String OVERRIDE_EQUALS_BEHAVIOR = "org.jboss.security.simpleprincipal.equals.override";
+
     public SimpleGroup(String groupName)
     {
         super(groupName);
@@ -99,6 +103,26 @@
                 }
             }
         }
+        if ("true".equals(AccessController.doPrivileged(new PrivilegedAction()
+        {
+           public Object run()
+           {
+              return System.getProperty(OVERRIDE_EQUALS_BEHAVIOR, "false");
+           }
+        })))
+        {
+           if (isMember == false)
+           {
+              for (Iterator iterator = members.keySet().iterator(); iterator.hasNext();)
+              {
+                 Principal p = (Principal) iterator.next();
+                 if (member instanceof SimplePrincipal)
+                    isMember = p.getName() == null ? member.getName() == null : p.getName().equals(member.getName());
+                 if (isMember)
+                    break;
+              }
+           }
+        }
         return isMember;
     }
 




More information about the jboss-cvs-commits mailing list