You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2009/07/25 16:17:37 UTC

svn commit: r797771 - in /geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat: BaseGeronimoContextConfig.java EjbWsContextConfig.java TomcatEJBWebServiceContext.java

Author: gawor
Date: Sat Jul 25 14:17:37 2009
New Revision: 797771

URL: http://svn.apache.org/viewvc?rev=797771&view=rev
Log:
install jacc security valve before ejb ws valve and use ejb authorizer. should fix some problems in tck or at least move things in the right direction

Modified:
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/BaseGeronimoContextConfig.java
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EjbWsContextConfig.java
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/BaseGeronimoContextConfig.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/BaseGeronimoContextConfig.java?rev=797771&r1=797770&r2=797771&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/BaseGeronimoContextConfig.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/BaseGeronimoContextConfig.java Sat Jul 25 14:17:37 2009
@@ -107,7 +107,7 @@
         }
 
         AccessControlContext defaultAcc = ContextManager.registerSubjectShort(defaultSubject,  null, null);
-        Authorizer authorizer = new JACCAuthorizer(defaultAcc);
+        Authorizer authorizer = createAuthorizer(defaultAcc);
 
         SecurityValve securityValve = new JACCSecurityValve(authenticator, authorizer, identityService, policyContextId);
 
@@ -120,4 +120,8 @@
 
         geronimoContext.setRealm(new JACCRealm());
     }
+    
+    protected Authorizer createAuthorizer(AccessControlContext defaultAcc) {
+        return new JACCAuthorizer(defaultAcc);
+    }
 }

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EjbWsContextConfig.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EjbWsContextConfig.java?rev=797771&r1=797770&r2=797771&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EjbWsContextConfig.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EjbWsContextConfig.java Sat Jul 25 14:17:37 2009
@@ -20,9 +20,14 @@
 
 package org.apache.geronimo.tomcat;
 
+import java.security.AccessControlContext;
+
 import javax.security.auth.Subject;
 
 import org.apache.geronimo.security.jaas.ConfigurationFactory;
+import org.apache.geronimo.tomcat.security.Authorizer;
+import org.apache.geronimo.tomcat.security.jacc.JACCAuthorizer;
+import org.apache.geronimo.tomcat.security.jacc.JACCEJBWebServiceAuthorizer;
 import org.apache.catalina.core.StandardContext;
 
 /**
@@ -56,4 +61,7 @@
                 authMethod, realmName, null, null);
     }
 
+    protected Authorizer createAuthorizer(AccessControlContext defaultAcc) {
+        return new JACCEJBWebServiceAuthorizer(defaultAcc);
+    }
 }

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java?rev=797771&r1=797770&r2=797771&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java Sat Jul 25 14:17:37 2009
@@ -29,6 +29,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.catalina.LifecycleException;
 import org.apache.catalina.Wrapper;
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
@@ -38,7 +39,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class TomcatEJBWebServiceContext extends StandardContext{
+public class TomcatEJBWebServiceContext extends StandardContext {
 
     private static final Logger log = LoggerFactory.getLogger(TomcatEJBWebServiceContext.class);
 
@@ -55,7 +56,6 @@
         log.debug("EJB Webservice Context = " + contextPath);
 
         this.classLoader = classLoader;
-        this.addValve(new EJBWebServiceValve());
         
         //Create a dummy wrapper
         Wrapper wrapper = this.createWrapper();
@@ -65,11 +65,15 @@
         this.addServletMapping("/*", name);
 
     }
-    
+
+    public void start() throws LifecycleException {
+        super.start();
+        addValve(new EJBWebServiceValve());
+    }
+
     public class EJBWebServiceValve extends ValveBase {
 
         public void invoke(Request req, Response res) throws IOException, ServletException {
-            PolicyContext.setHandlerData((realm == null) ? null : req);
             Thread currentThread = Thread.currentThread();
             ClassLoader oldClassLoader = currentThread.getContextClassLoader();
             currentThread.setContextClassLoader(classLoader);