Author: rmannibucau
Date: Fri Aug 19 15:39:42 2011
New Revision: 1159664
URL: http://svn.apache.org/viewvc?rev=1159664&view=rev
Log:
removing securityService usage for async request in tomcat
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatSecurityService.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/AbstractSecurityService.java
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java?rev=1159664&r1=1159663&r2=1159664&view=diff
==============================================================================
---
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
(original)
+++
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
Fri Aug 19 15:39:42 2011
@@ -32,21 +32,27 @@ public class OpenEJBValve extends ValveB
protected static final String info = OpenEJBValve.class.getName() + "/" +
OpenEjbVersion.get().getVersion();
public OpenEJBValve() {
+ super(true);
securityService = getSecurityService();
}
public void invoke(Request request, Response response) throws IOException,
ServletException {
- Object oldState = null;
- if (securityService != null && request.getWrapper() != null) {
- oldState =
securityService.enterWebApp(request.getWrapper().getRealm(),
request.getPrincipal(), request.getWrapper().getRunAs());
- }
+ if (!request.isAsync()) {
+ Object oldState = null;
+ if (securityService != null && request.getWrapper() != null) {
+ oldState =
securityService.enterWebApp(request.getWrapper().getRealm(),
request.getPrincipal(), request.getWrapper().getRunAs());
+ }
- try {
- getNext().invoke(request, response);
- } finally {
- if (securityService != null) {
- securityService.exitWebApp(oldState);
+ try {
+ getNext().invoke(request, response);
+ } finally {
+ if (securityService != null) {
+ securityService.exitWebApp(oldState);
+ }
}
+ } else {
+ // for async request security should be initialized elsewhere
+ getNext().invoke(request, response);
}
}
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatSecurityService.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatSecurityService.java?rev=1159664&r1=1159663&r2=1159664&view=diff
==============================================================================
---
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatSecurityService.java
(original)
+++
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatSecurityService.java
Fri Aug 19 15:39:42 2011
@@ -28,6 +28,7 @@ import org.apache.openejb.tomcat.loader.
import javax.security.auth.Subject;
import javax.security.auth.login.LoginException;
+import java.io.Serializable;
import java.security.Principal;
import java.util.HashSet;
import java.util.LinkedHashSet;
@@ -227,7 +228,7 @@ public class TomcatSecurityService exten
}
}
- private static class WebAppState {
+ private static class WebAppState implements Serializable {
private final Identity oldIdentity;
private final boolean hadRunAs;
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/AbstractSecurityService.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/AbstractSecurityService.java?rev=1159664&r1=1159663&r2=1159664&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/AbstractSecurityService.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/AbstractSecurityService.java
Fri Aug 19 15:39:42 2011
@@ -32,6 +32,7 @@ import javax.security.auth.login.LoginEx
import javax.security.jacc.PolicyContext;
import javax.security.jacc.EJBMethodPermission;
import javax.security.jacc.PolicyConfigurationFactory;
+import java.io.Serializable;
import java.security.AccessControlContext;
import java.security.PrivilegedAction;
import java.security.AccessController;
@@ -339,7 +340,7 @@ public abstract class AbstractSecuritySe
}
}
- protected static class Identity {
+ protected static class Identity implements Serializable {
private final Subject subject;
private final UUID token;