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;
 


Reply via email to