[jboss-cvs] JBossAS SVN: r92505 - 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
Tue Aug 18 06:39:38 EDT 2009
Author: wolfc
Date: 2009-08-18 06:39:38 -0400 (Tue, 18 Aug 2009)
New Revision: 92505
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java
Log:
EJBTHREE-1892: reverted 67100 and fixed the role mapping
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 2009-08-18 09:28:37 UTC (rev 92504)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java 2009-08-18 10:39:38 UTC (rev 92505)
@@ -33,6 +33,7 @@
import org.jboss.aop.advice.AspectFactory;
import org.jboss.aop.advice.Interceptor;
import org.jboss.ejb3.EJBContainer;
+import org.jboss.ejb3.annotation.RunAsPrincipal;
import org.jboss.ejb3.annotation.SecurityDomain;
import org.jboss.ejb3.tx.NullInterceptor;
import org.jboss.logging.Logger;
@@ -59,7 +60,11 @@
if (runAs == null)
return null;
- String runAsPrincipal = runAs.value();
+ RunAsPrincipal rap = (RunAsPrincipal) container.resolveAnnotation(RunAsPrincipal.class);
+ String runAsPrincipal = null;
+ if (rap != null)
+ runAsPrincipal = rap.value();
+
Set<String> extraRoles = new HashSet<String>();
JBossEnterpriseBeanMetaData jbEnterpriseBeanMetaData = container.getXml();
@@ -67,12 +72,18 @@
{
SecurityIdentityMetaData securityIdentity = jbEnterpriseBeanMetaData.getSecurityIdentity();
if(securityIdentity.isUseCallerId())
- return null; //Overriden in xml
- runAsPrincipal = securityIdentity.getRunAsPrincipal();
- Map<String,Set<String>> principalVsRoleMap =
- jbEnterpriseBeanMetaData.getSecurityRolesPrincipalVersusRolesMap();
- extraRoles = principalVsRoleMap.get(runAsPrincipal);
+ return null; //Overriden in xml
+ String s = securityIdentity.getRunAsPrincipal();
+ if(s != null && s.length() != 0)
+ runAsPrincipal = s;
}
+ if(runAsPrincipal != null)
+ {
+ Map<String,Set<String>> principalVsRoleMap = jbEnterpriseBeanMetaData.getSecurityRolesPrincipalVersusRolesMap();
+ Set<String> roles = principalVsRoleMap.get(runAsPrincipal);
+ if(roles != null)
+ extraRoles.addAll(roles);
+ }
JBossAssemblyDescriptorMetaData ad = container.getAssemblyDescriptor();
if(ad != null && runAsPrincipal != null)
More information about the jboss-cvs-commits
mailing list