[jboss-cvs] JBossAS SVN: r99007 - in branches/JBPAPP_5_0: server/src/main/org/jboss/ejb/plugins/security and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 4 17:52:22 EST 2010
Author: sguilhen at redhat.com
Date: 2010-01-04 17:52:21 -0500 (Mon, 04 Jan 2010)
New Revision: 99007
Modified:
branches/JBPAPP_5_0/component-matrix/pom.xml
branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/PreSecurityInterceptor.java
branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/SecurityActions.java
Log:
JBPAPP-3329: porting JBAS-7037 fix to EAP branch
Modified: branches/JBPAPP_5_0/component-matrix/pom.xml
===================================================================
--- branches/JBPAPP_5_0/component-matrix/pom.xml 2010-01-04 21:27:19 UTC (rev 99006)
+++ branches/JBPAPP_5_0/component-matrix/pom.xml 2010-01-04 22:52:21 UTC (rev 99007)
@@ -89,7 +89,7 @@
<version.org.jboss.naming>5.0.3.GA</version.org.jboss.naming>
<version.org.jboss.reflect>2.0.2.GA</version.org.jboss.reflect>
<version.org.jboss.remoting>2.5.2</version.org.jboss.remoting>
- <version.org.jboss.security>2.0.4.SP2</version.org.jboss.security>
+ <version.org.jboss.security>2.0.4.SP3</version.org.jboss.security>
<version.org.jboss.security.negotiation>2.0.3.SP2</version.org.jboss.security.negotiation>
<version.org.jboss.threads>1.0.0.GA</version.org.jboss.threads>
<version.org.jboss.vfs>2.1.3.SP1</version.org.jboss.vfs>
Modified: branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/PreSecurityInterceptor.java
===================================================================
--- branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/PreSecurityInterceptor.java 2010-01-04 21:27:19 UTC (rev 99006)
+++ branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/PreSecurityInterceptor.java 2010-01-04 22:52:21 UTC (rev 99007)
@@ -101,6 +101,7 @@
log.trace("process:isInvoke="+isInvoke + " bean="+ container.getServiceName());
SecurityIdentity si = null;
+ String incomingDomain = null;
Method m = mi.getMethod();
boolean isEjbTimeOutMethod = m!= null && m.getName().equals(timedObjectMethod);
//For local ejb invocations
@@ -110,10 +111,15 @@
//Cache the security context
SecurityContext sc = SecurityActions.getSecurityContext();
if(sc != null)
- si = SecurityActions.getSecurityIdentity(sc);
+ {
+ si = SecurityActions.getSecurityIdentity(sc);
+ incomingDomain = sc.getSecurityDomain();
+ }
SecurityActions.setSecurityManagement(sc, container.getSecurityManagement());
-
+ // set the container's security domain in the security context
+ SecurityActions.setSecurityDomain(sc, this.securityDomain);
+
log.trace("SecurityIdentity="+SecurityActions.trace(si));
//Set the security context on the invocation
mi.setSecurityContext(sc);
@@ -139,7 +145,9 @@
{
SecurityActions.popCallerRunAsIdentity();
if(mi.isLocal() && si != null)
- SecurityActions.setSecurityIdentity(SecurityActions.getSecurityContext(), si);
+ SecurityActions.setSecurityIdentity(SecurityActions.getSecurityContext(), si);
+ if(mi.isLocal() && incomingDomain != null)
+ SecurityActions.setSecurityDomain(SecurityActions.getSecurityContext(), incomingDomain);
log.trace("Exit process():isInvoke="+isInvoke);
}
}
Modified: branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/SecurityActions.java
===================================================================
--- branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/SecurityActions.java 2010-01-04 21:27:19 UTC (rev 99006)
+++ branches/JBPAPP_5_0/server/src/main/org/jboss/ejb/plugins/security/SecurityActions.java 2010-01-04 22:52:21 UTC (rev 99007)
@@ -143,6 +143,18 @@
);
}
+ static void setSecurityDomain(final SecurityContext sc, final String domain)
+ {
+ AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ sc.setSecurityDomain(domain);
+ return null;
+ }
+ });
+ }
+
static String trace(final SecurityContext sc)
{
return AccessController.doPrivileged(new PrivilegedAction<String>()
More information about the jboss-cvs-commits
mailing list