[jboss-cvs] JBossAS SVN: r74440 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jun 11 20:15:27 EDT 2008


Author: ALRubinger
Date: 2008-06-11 20:15:27 -0400 (Wed, 11 Jun 2008)
New Revision: 74440

Modified:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java
Log:
[JBCTS-757] Applied Anil's patch

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java	2008-06-11 23:48:01 UTC (rev 74439)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java	2008-06-12 00:15:27 UTC (rev 74440)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.security;
 
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
 import javax.annotation.security.RunAs;
@@ -38,8 +39,6 @@
 import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
-import org.jboss.security.AuthenticationManager;
-import org.jboss.security.RealmMapping;
 import org.jboss.security.RunAsIdentity;
 
 /**
@@ -56,11 +55,12 @@
   
    protected RunAsIdentity getRunAsIdentity(EJBContainer container)
    {      
-      RunAs runAs = (RunAs) container.resolveAnnotation(RunAs.class);
+      RunAs runAs = (RunAs) container.getAnnotation(RunAs.class);
       if (runAs == null)
          return null;
       
       String runAsPrincipal = runAs.value(); 
+      Set<String> extraRoles = new HashSet<String>();
       
       JBossEnterpriseBeanMetaData jbEnterpriseBeanMetaData = container.getXml();
       if(jbEnterpriseBeanMetaData != null)
@@ -68,11 +68,12 @@
          SecurityIdentityMetaData securityIdentity = jbEnterpriseBeanMetaData.getSecurityIdentity();
          if(securityIdentity.isUseCallerId())
             return null; //Overriden in xml 
-         runAsPrincipal = securityIdentity.getRunAsPrincipal(); 
+         runAsPrincipal = securityIdentity.getRunAsPrincipal();  
+         Map<String,Set<String>> principalVsRoleMap = 
+        	 jbEnterpriseBeanMetaData.getSecurityRolesPrincipalVersusRolesMap(); 
+         extraRoles = principalVsRoleMap.get(runAsPrincipal);  
       }
-      
-      Set<String> extraRoles = new HashSet<String>();
-      
+       
       JBossAssemblyDescriptorMetaData ad = container.getAssemblyDescriptor();
       if(ad != null && runAsPrincipal != null)
       {




More information about the jboss-cvs-commits mailing list