[jboss-cvs] JBossAS SVN: r70701 - 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
Mon Mar 10 17:02:07 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-03-10 17:02:06 -0400 (Mon, 10 Mar 2008)
New Revision: 70701
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java
Log:
consider the run as principal from jboss.xml
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-03-10 21:00:47 UTC (rev 70700)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/security/RunAsSecurityInterceptorFactory.java 2008-03-10 21:02:06 UTC (rev 70701)
@@ -36,6 +36,8 @@
import org.jboss.ejb3.tx.NullInterceptor;
import org.jboss.logging.Logger;
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;
@@ -53,12 +55,22 @@
private static final Logger log = Logger.getLogger(RunAsSecurityInterceptorFactory.class);
protected RunAsIdentity getRunAsIdentity(EJBContainer container)
- {
+ {
RunAs runAs = (RunAs) container.resolveAnnotation(RunAs.class);
if (runAs == null)
return null;
String runAsPrincipal = runAs.value();
+
+ JBossEnterpriseBeanMetaData jbEnterpriseBeanMetaData = container.getXml();
+ if(jbEnterpriseBeanMetaData != null)
+ {
+ SecurityIdentityMetaData securityIdentity = jbEnterpriseBeanMetaData.getSecurityIdentity();
+ if(securityIdentity.isUseCallerId())
+ return null; //Overriden in xml
+ runAsPrincipal = securityIdentity.getRunAsPrincipal();
+ }
+
Set<String> extraRoles = new HashSet<String>();
JBossAssemblyDescriptorMetaData ad = container.getAssemblyDescriptor();
@@ -68,17 +80,13 @@
}
return new RunAsIdentity(runAs.value(), runAsPrincipal, extraRoles);
+
}
public Object createPerClass(Advisor advisor)
{
EJBContainer container = EJBContainer.getEJBContainer(advisor);
- RunAsIdentity runAsIdentity = getRunAsIdentity(container);
- /*if (runAsIdentity == null)
- {
- return new NullInterceptor();
- }*/
Object domain = null;
try
@@ -99,10 +107,6 @@
Interceptor interceptor = new NullInterceptor();
if (domain != null)
{
- AuthenticationManager manager = (AuthenticationManager) domain;
- RealmMapping mapping = (RealmMapping) domain;
- //interceptor = new RunAsSecurityInterceptor(manager, mapping, getRunAsIdentity(container));
-
interceptor = new RunAsSecurityInterceptorv2(container, getRunAsIdentity(container));
}
return interceptor;
More information about the jboss-cvs-commits
mailing list