[jboss-cvs] JBossAS SVN: r107773 - in trunk/tomcat/src/main/java/org/jboss/web/tomcat: service and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Aug 25 10:22:18 EDT 2010
Author: remy.maucherat at jboss.com
Date: 2010-08-25 10:22:18 -0400 (Wed, 25 Aug 2010)
New Revision: 107773
Modified:
trunk/tomcat/src/main/java/org/jboss/web/tomcat/security/SecurityContextEstablishmentValve.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/NamingListener.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
Log:
- Move setting the component to the first valve after StandardHostValve, since naming use is legitimate (somehow) before
entering the application.
- Not using a new valve because avoiding too many try/finally is good usually.
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/security/SecurityContextEstablishmentValve.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/security/SecurityContextEstablishmentValve.java 2010-08-25 14:20:44 UTC (rev 107772)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/security/SecurityContextEstablishmentValve.java 2010-08-25 14:22:18 UTC (rev 107773)
@@ -34,7 +34,10 @@
import org.jboss.security.SecurityUtil;
import org.jboss.servlet.http.HttpEvent;
+import org.jboss.reloaded.naming.CurrentComponent;
+import org.jboss.reloaded.naming.spi.JavaEEComponent;
+
/**
* Establish the Security Context
* @author Anil.Saldhana at redhat.com
@@ -45,12 +48,13 @@
{
private String configuredSecurityDomainName;
private ISecurityManagement securityManagement;
+ private JavaEEComponent id;
private Class<?> securityContextClass;
public SecurityContextEstablishmentValve(String configuredSecurityDomain,
String defaultSecurityDomain, Class<?> contextClass,
- ISecurityManagement securityManagement)
+ ISecurityManagement securityManagement, JavaEEComponent id)
{
String securityDomain = defaultSecurityDomain;
@@ -60,6 +64,8 @@
this.configuredSecurityDomainName = SecurityUtil.unprefixSecurityDomain(securityDomain);
this.securityContextClass = contextClass;
this.securityManagement = securityManagement;
+ this.id = id;
+ assert id != null : "id is null";
}
@Override
@@ -87,6 +93,7 @@
createdSecurityContext = true;
}
+ CurrentComponent.push(id);
try
{
// Perform the request
@@ -94,6 +101,7 @@
}
finally
{
+ CurrentComponent.pop();
if(createdSecurityContext)
{
SecurityAssociationActions.clearSecurityContext();
@@ -146,6 +154,7 @@
createdSecurityContext = true;
}
+ CurrentComponent.push(id);
try
{
// Perform the request
@@ -153,6 +162,7 @@
}
finally
{
+ CurrentComponent.pop();
if(createdSecurityContext)
{
SecurityAssociationActions.clearSecurityContext();
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/NamingListener.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/NamingListener.java 2010-08-25 14:20:44 UTC (rev 107772)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/NamingListener.java 2010-08-25 14:22:18 UTC (rev 107773)
@@ -60,8 +60,7 @@
{
String type = event.getType();
// Push the identity on the before init/destroy
- if ( type.equals(InstanceEvent.BEFORE_REQUEST_EVENT)
- || type.equals(InstanceEvent.BEFORE_DISPATCH_EVENT)
+ if ( type.equals(InstanceEvent.BEFORE_DISPATCH_EVENT)
|| type.equals(InstanceEvent.BEFORE_DESTROY_EVENT)
|| type.equals(InstanceEvent.BEFORE_INIT_EVENT) )
{
@@ -69,8 +68,7 @@
CurrentComponent.push(id);
}
// Pop the identity on the after init/destroy
- else if ( type.equals(InstanceEvent.AFTER_REQUEST_EVENT)
- || type.equals(InstanceEvent.AFTER_DISPATCH_EVENT)
+ else if ( type.equals(InstanceEvent.AFTER_DISPATCH_EVENT)
|| type.equals(InstanceEvent.AFTER_DESTROY_EVENT)
|| type.equals(InstanceEvent.AFTER_INIT_EVENT) )
{
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-08-25 14:20:44 UTC (rev 107772)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-08-25 14:22:18 UTC (rev 107773)
@@ -275,9 +275,9 @@
if (metaDataSecurityDomain != null)
metaDataSecurityDomain = metaDataSecurityDomain.trim();
- // Add a valve to establish security context
+ // Add a valve to establish security and naming context
SecurityContextEstablishmentValve scevalve = new SecurityContextEstablishmentValve(metaDataSecurityDomain, SecurityUtil.unprefixSecurityDomain(config
- .getDefaultSecurityDomain()), SecurityActions.loadClass(config.getSecurityContextClassName()), getSecurityManagement());
+ .getDefaultSecurityDomain()), SecurityActions.loadClass(config.getSecurityContextClassName()), getSecurityManagement(), component);
context.addValve(scevalve);
// Add a valve to estalish the JACC context before authorization valves
More information about the jboss-cvs-commits
mailing list