You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/08/06 00:24:45 UTC

svn commit: r682995 - in /geronimo/sandbox/djencks/jetty7: ./ geronimo-jetty7-builder/ geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty6/ geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/ geronimo-jetty7-builder/src/main/...

Author: djencks
Date: Tue Aug  5 15:24:44 2008
New Revision: 682995

URL: http://svn.apache.org/viewvc?rev=682995&view=rev
Log:
intermediate commit to enable further cleanup

Added:
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/
      - copied from r674670, geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty6/
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/
      - copied from r674670, geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty6/
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/
      - copied from r674670, geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/war1/
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java   (contents, props changed)
      - copied, changed from r675561, geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java
Removed:
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty6/
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty6/
Modified:
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/pom.xml
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilder.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsd/geronimo-jetty-2.0.2.xsd
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsdconfig/xmlconfig.xml
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter1.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter2.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet1.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet2.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilderTest.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/MockResourceEnvironmentSetter.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/PlanParsingTest.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/StartupOrderComparatorTest.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/geronimo-web.xml
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/web.xml
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/JettyWebAppContext.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/handler/TwistyWebAppContext.java
    geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java
    geronimo/sandbox/djencks/jetty7/jetty7/pom.xml
    geronimo/sandbox/djencks/jetty7/pom.xml

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/pom.xml?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/pom.xml (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/pom.xml Tue Aug  5 15:24:44 2008
@@ -58,6 +58,13 @@
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.components</groupId>
+            <artifactId>geronimo-jaspi</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
 
     </dependencies>
     

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilder.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilder.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilder.java Tue Aug  5 15:24:44 2008
@@ -15,11 +15,12 @@
  *  limitations under the License.
  */
 
-package org.apache.geronimo.jetty6.deployment;
+package org.apache.geronimo.jetty7.deployment;
 
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.StringWriter;
 import static java.lang.Boolean.FALSE;
 import static java.lang.Boolean.TRUE;
 import java.net.URL;
@@ -37,11 +38,19 @@
 import java.util.jar.JarFile;
 
 import javax.management.ObjectName;
+import javax.security.auth.message.module.ServerAuthModule;
 import javax.servlet.Servlet;
+import javax.xml.bind.JAXBException;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.components.jaspi.model.AuthModuleType;
+import org.apache.geronimo.components.jaspi.model.ConfigProviderType;
+import org.apache.geronimo.components.jaspi.model.JaspiXmlUtil;
+import org.apache.geronimo.components.jaspi.model.ServerAuthConfigType;
+import org.apache.geronimo.components.jaspi.model.ServerAuthContextType;
 import org.apache.geronimo.deployment.ModuleIDBuilder;
 import org.apache.geronimo.deployment.NamespaceDrivenBuilder;
 import org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection;
@@ -64,14 +73,15 @@
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedWebApp;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.jetty6.Host;
-import org.apache.geronimo.jetty6.JettyDefaultServletHolder;
-import org.apache.geronimo.jetty6.JettyFilterHolder;
-import org.apache.geronimo.jetty6.JettyFilterMapping;
-import org.apache.geronimo.jetty6.JettyServletHolder;
-import org.apache.geronimo.jetty6.JettyWebAppContext;
-import org.apache.geronimo.jetty6.NonAuthenticator;
-import org.apache.geronimo.jetty6.JettyJspServletHolder;
+import org.apache.geronimo.jetty7.Host;
+import org.apache.geronimo.jetty7.JettyDefaultServletHolder;
+import org.apache.geronimo.jetty7.JettyFilterHolder;
+import org.apache.geronimo.jetty7.JettyFilterMapping;
+import org.apache.geronimo.jetty7.JettyJspServletHolder;
+import org.apache.geronimo.jetty7.JettyServletHolder;
+import org.apache.geronimo.jetty7.JettyWebAppContext;
+import org.apache.geronimo.jetty7.security.AuthConfigProviderHandlerFactory;
+import org.apache.geronimo.jetty7.security.ServerAuthConfigGBean;
 import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
 import org.apache.geronimo.kernel.GBeanNotFoundException;
 import org.apache.geronimo.kernel.Kernel;
@@ -82,9 +92,13 @@
 import org.apache.geronimo.naming.deployment.GBeanResourceEnvironmentBuilder;
 import org.apache.geronimo.naming.deployment.ResourceEnvironmentSetter;
 import org.apache.geronimo.security.jacc.ComponentPermissions;
+import org.apache.geronimo.security.jaspi.AuthConfigProviderGBean;
+import org.apache.geronimo.security.jaspi.ServerAuthContextGBean;
+import org.apache.geronimo.security.jaspi.ServerAuthModuleGBean;
 import org.apache.geronimo.web.deployment.GenericToSpecificPlanConverter;
 import org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder;
 import org.apache.geronimo.xbeans.geronimo.j2ee.GerClusteringDocument;
+import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyAuthenticationType;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppDocument;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppType;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.config.GerJettyDocument;
@@ -94,6 +108,7 @@
 import org.apache.geronimo.xbeans.javaee.FilterType;
 import org.apache.geronimo.xbeans.javaee.FormLoginConfigType;
 import org.apache.geronimo.xbeans.javaee.JspConfigType;
+import org.apache.geronimo.xbeans.javaee.JspPropertyGroupType;
 import org.apache.geronimo.xbeans.javaee.ListenerType;
 import org.apache.geronimo.xbeans.javaee.LocaleEncodingMappingListType;
 import org.apache.geronimo.xbeans.javaee.LocaleEncodingMappingType;
@@ -107,22 +122,30 @@
 import org.apache.geronimo.xbeans.javaee.WebAppDocument;
 import org.apache.geronimo.xbeans.javaee.WebAppType;
 import org.apache.geronimo.xbeans.javaee.WelcomeFileListType;
-import org.apache.geronimo.xbeans.javaee.JspPropertyGroupType;
+import org.apache.geronimo.schema.ElementConverter;
+import org.apache.geronimo.schema.NamespaceElementConverter;
+import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
-import org.mortbay.jetty.security.BasicAuthenticator;
-import org.mortbay.jetty.security.ClientCertAuthenticator;
-import org.mortbay.jetty.security.DigestAuthenticator;
-import org.mortbay.jetty.security.FormAuthenticator;
-
+import org.mortbay.jetty.security.jaspi.modules.BasicAuthModule;
+import org.mortbay.jetty.security.jaspi.modules.ClientCertAuthModule;
+import org.mortbay.jetty.security.jaspi.modules.DigestAuthModule;
+import org.mortbay.jetty.security.jaspi.modules.FormAuthModule;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xml.sax.SAXException;
 
 /**
  * @version $Rev:385659 $ $Date$
  */
 public class JettyModuleBuilder extends AbstractWebModuleBuilder implements GBeanLifecycle {
     private static final Logger log = LoggerFactory.getLogger(JettyModuleBuilder.class);
-    
+
     private static final Map<String, String> NAMESPACE_UPDATES = new HashMap<String, String>();
+    private static final Map<String, ElementConverter> GERONIMO_SCHEMA_CONVERSIONS = new HashMap<String, ElementConverter>();
+    private static final String JASPI_NAMESPACE = "http://geronimo.apache.org/xml/ns/geronimo-jaspi";
+
     static {
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web", "http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1");
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/web-1.1", "http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1");
@@ -135,6 +158,10 @@
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0.1", "http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0.2");
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/jetty/config", "http://geronimo.apache.org/xml/ns/web/jetty/config-1.0.1");
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/jetty/config-1.0", "http://geronimo.apache.org/xml/ns/web/jetty/config-1.0.1");
+        GERONIMO_SCHEMA_CONVERSIONS.put("configProvider", new NamespaceElementConverter(JASPI_NAMESPACE));
+        GERONIMO_SCHEMA_CONVERSIONS.put("serverAuthConfig", new NamespaceElementConverter(JASPI_NAMESPACE));
+        GERONIMO_SCHEMA_CONVERSIONS.put("serverAuthContext", new NamespaceElementConverter(JASPI_NAMESPACE));
+        GERONIMO_SCHEMA_CONVERSIONS.put("serverAuthModule", new NamespaceElementConverter(JASPI_NAMESPACE));
     }
 
     private final Environment defaultEnvironment;
@@ -191,10 +218,13 @@
 
     public void doStart() throws Exception {
         XmlBeansUtil.registerNamespaceUpdates(NAMESPACE_UPDATES);
+        SchemaConversionUtils.registerNamespaceConversions(GERONIMO_SCHEMA_CONVERSIONS);
     }
 
     public void doStop() {
         XmlBeansUtil.unregisterNamespaceUpdates(NAMESPACE_UPDATES);
+        //TODO not yet implemented
+//        SchemaConversionUtils.unregisterNamespaceConversions(GERONIMO_SCHEMA_CONVERSIONS);
     }
 
     public void doFail() {
@@ -316,7 +346,8 @@
                             try {
                                 rawPlan = XmlBeansUtil.parse(path, getClass().getClassLoader());
                             } catch (FileNotFoundException e1) {
-                                log.warn("Web application " + targetPath + " does not contain a WEB-INF/geronimo-web.xml deployment plan.  This may or may not be a problem, depending on whether you have things like resource references that need to be resolved.  You can also give the deployer a separate deployment plan file on the command line.");
+                                log.warn(
+                                        "Web application " + targetPath + " does not contain a WEB-INF/geronimo-web.xml deployment plan.  This may or may not be a problem, depending on whether you have things like resource references that need to be resolved.  You can also give the deployer a separate deployment plan file on the command line.");
                             }
                         }
                     }
@@ -360,7 +391,7 @@
 
         WebAppType webApp = (WebAppType) webModule.getSpecDD();
         JettyWebAppType jettyWebApp = (JettyWebAppType) webModule.getVendorDD();
-        GBeanData webModuleData = new GBeanData(moduleName, JettyWebAppContext.GBEAN_INFO);
+        GBeanData webModuleData = new GBeanData(moduleName, JettyWebAppContext.class);
 
         configureBasicWebModuleAttributes(webApp, jettyWebApp, moduleContext, earContext, webModule, webModuleData);
 
@@ -448,7 +479,7 @@
             }
 
             // configure login configs.
-            configureLoginConfigs(module, webApp, jettyWebApp, webModuleData);
+            configureLoginConfigs(earContext, module, webApp, jettyWebApp, webModuleData);
 
             // Make sure that servlet mappings point to available servlets and never add a duplicate pattern.
 
@@ -547,7 +578,8 @@
     private void configureSecurityRealm(EARContext earContext, WebAppType webApp, JettyWebAppType jettyWebApp, GBeanData webModuleData) throws DeploymentException {
         AbstractName moduleName = webModuleData.getAbstractName();
         if (earContext.getSecurityConfiguration() == null) {
-            throw new DeploymentException("You have specified a <security-realm-name> for the webapp " + moduleName + " but no <security> configuration (role mapping) is supplied in the Geronimo plan for the web application (or the Geronimo plan for the EAR if the web app is in an EAR)");
+            throw new DeploymentException(
+                    "You have specified a <security-realm-name> for the webapp " + moduleName + " but no <security> configuration (role mapping) is supplied in the Geronimo plan for the web application (or the Geronimo plan for the EAR if the web app is in an EAR)");
         }
         String securityRealmName = jettyWebApp.getSecurityRealmName().trim();
         webModuleData.setAttribute("securityRealmName", securityRealmName);
@@ -737,38 +769,147 @@
         }
     }
 
-    private void configureLoginConfigs(Module module, WebAppType webApp, JettyWebAppType jettyWebApp, GBeanData webModuleData) throws DeploymentException {
+    private void configureLoginConfigs(EARContext moduleContext, Module module, WebAppType webApp, JettyWebAppType jettyWebApp, GBeanData webModuleData) throws DeploymentException, GBeanAlreadyExistsException {
         LoginConfigType[] loginConfigArray = webApp.getLoginConfigArray();
         if (loginConfigArray.length > 1) {
             throw new DeploymentException("Web app " + module.getName() + " cannot have more than one login-config element.  Currently has " + loginConfigArray.length + " login-config elements.");
         }
-        if (loginConfigArray.length == 1) {
-            LoginConfigType loginConfig = loginConfigArray[0];
-            if (loginConfig.isSetAuthMethod()) {
-                String authMethod = loginConfig.getAuthMethod().getStringValue();
-                if ("BASIC".equals(authMethod)) {
-                    webModuleData.setAttribute("authenticator", new BasicAuthenticator());
-                } else if ("DIGEST".equals(authMethod)) {
-                    webModuleData.setAttribute("authenticator", new DigestAuthenticator());
-                } else if ("FORM".equals(authMethod)) {
-
-                    FormAuthenticator formAuthenticator = new FormAuthenticator();
-                    webModuleData.setAttribute("authenticator", formAuthenticator);
-                    if (loginConfig.isSetFormLoginConfig()) {
-                        FormLoginConfigType formLoginConfig = loginConfig.getFormLoginConfig();
-                        formAuthenticator.setLoginPage(formLoginConfig.getFormLoginPage().getStringValue());
-                        formAuthenticator.setErrorPage(formLoginConfig.getFormErrorPage().getStringValue());
+        JettyAuthenticationType authType = jettyWebApp.getAuthentication();
+        if (loginConfigArray.length == 1 || authType != null) {
+            AbstractName factoryName = moduleContext.getNaming().createChildName(module.getModuleName(), "securityHandlerFactory", NameFactory.GERONIMO_SERVICE);
+            webModuleData.setReferencePattern("SecurityHandlerFactory", factoryName);
+            GBeanData securityFactoryData = new GBeanData(factoryName, AuthConfigProviderHandlerFactory.class);
+            securityFactoryData.setAttribute("messageLayer", "Http");
+            securityFactoryData.setAttribute("appContext", webModuleData.getAttribute("contextPath"));
+            moduleContext.addGBean(securityFactoryData);
+
+
+            AbstractName providerName = moduleContext.getNaming().createChildName(module.getModuleName(), "authConfigProvider", NameFactory.GERONIMO_SERVICE);
+            GBeanData authConfigProviderData;
+            if (authType != null) {
+                try {
+                    if (authType.isSetConfigProvider()) {
+                        authConfigProviderData = new GBeanData(providerName, AuthConfigProviderGBean.class);
+                        final XmlCursor xmlCursor = authType.getConfigProvider().newCursor();
+                        try {
+                            XMLStreamReader reader = xmlCursor.newXMLStreamReader();
+                            ConfigProviderType configProviderType = JaspiXmlUtil.loadConfigProvider(reader);
+                            StringWriter out = new StringWriter();
+                            JaspiXmlUtil.writeConfigProvider(configProviderType, out);
+                            authConfigProviderData.setAttribute("config", out.toString());
+                        } finally {
+                            xmlCursor.dispose();
+                        }
+                    } else if (authType.isSetServerAuthConfig()) {
+                        authConfigProviderData = new GBeanData(providerName, ServerAuthConfigGBean.class);
+                        final XmlCursor xmlCursor = authType.getServerAuthConfig().newCursor();
+                        try {
+                            XMLStreamReader reader = xmlCursor.newXMLStreamReader();
+                            ServerAuthConfigType serverAuthConfigType = JaspiXmlUtil.loadServerAuthConfig(reader);
+                            StringWriter out = new StringWriter();
+                            JaspiXmlUtil.writeServerAuthConfig(serverAuthConfigType, out);
+                            authConfigProviderData.setAttribute("config", out.toString());
+                        } finally {
+                            xmlCursor.dispose();
+                        }
+                    } else if (authType.isSetServerAuthContext()) {
+                        authConfigProviderData = new GBeanData(providerName, ServerAuthContextGBean.class);
+                        final XmlCursor xmlCursor = authType.getServerAuthContext().newCursor();
+                        try {
+                            XMLStreamReader reader = xmlCursor.newXMLStreamReader();
+                            ServerAuthContextType serverAuthContextType = JaspiXmlUtil.loadServerAuthContext(reader);
+                            StringWriter out = new StringWriter();
+                            JaspiXmlUtil.writeServerAuthContext(serverAuthContextType, out);
+                            authConfigProviderData.setAttribute("config", out.toString());
+                        } finally {
+                            xmlCursor.dispose();
+                        }
+                    } else if (authType.isSetServerAuthModule()) {
+                        authConfigProviderData = new GBeanData(providerName, ServerAuthModuleGBean.class);
+                        final XmlCursor xmlCursor = authType.getServerAuthModule().newCursor();
+                        try {
+                            XMLStreamReader reader = xmlCursor.newXMLStreamReader();
+                            AuthModuleType<ServerAuthModule> authModuleType = JaspiXmlUtil.loadServerAuthModule(reader);
+                            StringWriter out = new StringWriter();
+                            JaspiXmlUtil.writeServerAuthModule(authModuleType, out);
+                            authConfigProviderData.setAttribute("config", out.toString());
+                        } finally {
+                            xmlCursor.dispose();
+                        }
+                    } else {
+                        throw new IllegalStateException("can't happen");
                     }
-                } else if ("CLIENT-CERT".equals(authMethod)) {
-                    webModuleData.setAttribute("authenticator", new ClientCertAuthenticator());
+                } catch (ParserConfigurationException e) {
+                    throw new DeploymentException("Could not read auth config", e);
+                } catch (IOException e) {
+                    throw new DeploymentException("Could not read auth config", e);
+                } catch (SAXException e) {
+                    throw new DeploymentException("Could not read auth config", e);
+                } catch (JAXBException e) {
+                    throw new DeploymentException("Could not read auth config", e);
+                } catch (XMLStreamException e) {
+                    throw new DeploymentException("Could not read auth config", e);
                 }
-            }
-            if (loginConfig.isSetRealmName()) {
-                webModuleData.setAttribute("realmName", loginConfig.getRealmName().getStringValue());
-            }
 
-        } else if (jettyWebApp.isSetSecurityRealmName()) {
-            webModuleData.setAttribute("authenticator", new NonAuthenticator());
+            } else {
+                LoginConfigType loginConfig = loginConfigArray[0];
+                if (loginConfig.isSetAuthMethod()) {
+                    authConfigProviderData = new GBeanData(providerName, ServerAuthModuleGBean.class);
+                    authConfigProviderData.setAttribute("messageLayer", "Http");
+                    authConfigProviderData.setAttribute("appContext", webModuleData.getAttribute("contextPath"));
+                    //TODO ??
+                    authConfigProviderData.setAttribute("authenticationID", webModuleData.getAttribute("contextRoot"));
+
+                    AuthModuleType<ServerAuthModule> authModuleType = new AuthModuleType<ServerAuthModule>();
+                    String authMethod = loginConfig.getAuthMethod().getStringValue();
+                    if ("BASIC".equals(authMethod)) {
+                        authModuleType.setClassName(BasicAuthModule.class.getName());
+                        //TODO set realm name?
+//                    webModuleData.setAttribute("authenticator", new BasicAuthenticator());
+                    } else if ("DIGEST".equals(authMethod)) {
+                        authModuleType.setClassName(DigestAuthModule.class.getName());
+                        //TODO set realm name?
+//                    webModuleData.setAttribute("authenticator", new DigestAuthenticator());
+                    } else if ("FORM".equals(authMethod)) {
+                        authModuleType.setClassName(FormAuthModule.class.getName());
+//                    FormAuthenticator formAuthenticator = new FormAuthenticator();
+//                    webModuleData.setAttribute("authenticator", formAuthenticator);
+                        if (loginConfig.isSetFormLoginConfig()) {
+                            FormLoginConfigType formLoginConfig = loginConfig.getFormLoginConfig();
+                            Map<String, String> options = new HashMap<String, String>();
+                            options.put(FormAuthModule.LOGIN_PAGE_KEY, formLoginConfig.getFormLoginPage().getStringValue());
+                            options.put(FormAuthModule.ERROR_PAGE_KEY, formLoginConfig.getFormErrorPage().getStringValue());
+                            authModuleType.setOptions(options);
+//                        formAuthenticator.setLoginPage(formLoginConfig.getFormLoginPage().getStringValue());
+//                        formAuthenticator.setErrorPage(formLoginConfig.getFormErrorPage().getStringValue());
+                        }
+                    } else if ("CLIENT-CERT".equals(authMethod)) {
+                        authModuleType.setClassName(ClientCertAuthModule.class.getName());
+//                    webModuleData.setAttribute("authenticator", new ClientCertAuthenticator());
+                    } else {
+                        throw new DeploymentException("unrecognized auth method, use jaspi to configure: " + authMethod);
+                    }
+
+                    StringWriter out = new StringWriter();
+                    try {
+                        JaspiXmlUtil.writeServerAuthModule(authModuleType, out);
+                        authConfigProviderData.setAttribute("config", out.toString());
+                    } catch (XMLStreamException e) {
+                        throw new DeploymentException("Could not write auth module configuration", e);
+                    } catch (JAXBException e) {
+                        throw new DeploymentException("Could not write auth module configuration", e);
+                    }
+                } else {
+                    throw new DeploymentException("No auth method configured and no jaspi configured");
+                }
+                if (loginConfig.isSetRealmName()) {
+                    webModuleData.setAttribute("realmName", loginConfig.getRealmName().getStringValue());
+                }
+            }
+            moduleContext.addGBean(authConfigProviderData);
+            securityFactoryData.addDependency(providerName);
+//        } else if (jettyWebApp.isSetSecurityRealmName()) {
+//            webModuleData.setAttribute("authenticator", new NonAuthenticator());
         }
     }
 
@@ -783,7 +924,7 @@
             for (TaglibType taglib : tagLibArray) {
                 tagLibMap.put(taglib.getTaglibUri().getStringValue().trim(), taglib.getTaglibLocation().getStringValue().trim());
             }
-            for (JspPropertyGroupType propertyGroup: aJspConfigArray.getJspPropertyGroupArray()) {
+            for (JspPropertyGroupType propertyGroup : aJspConfigArray.getJspPropertyGroupArray()) {
                 UrlPatternType[] urlPatterns = propertyGroup.getUrlPatternArray();
                 addMappingsForServlet(jspServletName, urlPatterns, knownServletMappings, servletMappings);
             }
@@ -913,7 +1054,7 @@
         // reference to the previous GBean.  The kernel will ensure
         // that each "previous" GBean is running before it starts any
         // other GBeans that reference it.  See also
-        // o.a.g.jetty6.JettyFilterMapping which provided the example
+        // o.a.g.jetty7.JettyFilterMapping which provided the example
         // of how to do this.
         // http://issues.apache.org/jira/browse/GERONIMO-645
         AbstractName previousServlet = null;
@@ -924,12 +1065,12 @@
     }
 
     /**
-     * @param webModuleName AbstractName of the web module
-     * @param module the web module being added
+     * @param webModuleName   AbstractName of the web module
+     * @param module          the web module being added
      * @param previousServlet the servlet to start before this one in init order
-     * @param servletType XMLObject specifying the servlet configuration
+     * @param servletType     XMLObject specifying the servlet configuration
      * @param servletMappings Map of servlet name to set of ServletMapping strings for this web app
-     * @param moduleContext deployment context for this module
+     * @param moduleContext   deployment context for this module
      * @return AbstractName of servlet gbean added
      * @throws DeploymentException if something goes wrong
      */

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsd/geronimo-jetty-2.0.2.xsd
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsd/geronimo-jetty-2.0.2.xsd?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsd/geronimo-jetty-2.0.2.xsd (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsd/geronimo-jetty-2.0.2.xsd Tue Aug  5 15:24:44 2008
@@ -23,6 +23,7 @@
     xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
     xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
     xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
+    xmlns:jaspi="http://geronimo.apache.org/xml/ns/geronimo-jaspi"
     xmlns:ee="http://java.sun.com/xml/ns/persistence"
     xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
     attributeFormDefault="unqualified" version="1.0">
@@ -83,6 +84,7 @@
     </xs:import>
 
     <xs:import namespace="http://java.sun.com/xml/ns/persistence" schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"/>
+    <xs:import namespace="http://geronimo.apache.org/xml/ns/geronimo-jaspi" schemaLocation="geronimo-jaspi.xsd"/>
 
     <xs:element name="web-app" type="web:web-appType">
         <xs:annotation>
@@ -219,6 +221,16 @@
                         </xs:documentation>
                     </xs:annotation>
                 </xs:element>
+                <xs:element name="authentication" type="web:authenticationType" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The authentication element provides configuration for a specific
+                            jaspi AuthConfigProvider, ServerAuthConfig, ServerAuthContext, or ServerAuthModule
+                            to be used for authentication rather than a standard authentication method configured
+                            in web.xml.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
                 <xs:element ref="app:security" minOccurs="0">
                     <xs:annotation>
                         <xs:documentation>
@@ -243,4 +255,12 @@
         </xs:sequence>
     </xs:complexType>
 
+    <xs:complexType name="authenticationType">
+        <xs:choice>
+            <xs:element ref="jaspi:configProvider"/>
+            <xs:element ref="jaspi:serverAuthConfig"/>
+            <xs:element ref="jaspi:serverAuthContext"/>
+            <xs:element ref="jaspi:serverAuthModule"/>
+        </xs:choice>
+    </xs:complexType>
 </xs:schema>

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsdconfig/xmlconfig.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsdconfig/xmlconfig.xml?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsdconfig/xmlconfig.xml (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/main/xsdconfig/xmlconfig.xml Tue Aug  5 15:24:44 2008
@@ -26,4 +26,10 @@
         <xb:package>org.apache.geronimo.xbeans.geronimo.web.jetty.config</xb:package>
         <xb:prefix>Ger</xb:prefix>
     </xb:namespace>
+
+    <xb:namespace uri="http://geronimo.apache.org/xml/ns/geronimo-jaspi">
+        <xb:package>org.apache.geronimo.xbeans.geronimo.web.jetty.jaspi</xb:package>
+        <xb:prefix>Jaspi</xb:prefix>
+    </xb:namespace>
+    
 </xb:config>

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter1.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter1.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter1.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter1.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.app;
+package org.apache.geronimo.jetty7.app;
 
 import java.io.IOException;
 import javax.servlet.Filter;

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter2.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter2.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter2.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Filter2.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.app;
+package org.apache.geronimo.jetty7.app;
 
 import java.io.IOException;
 import javax.servlet.Filter;

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet1.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet1.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet1.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet1.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.app;
+package org.apache.geronimo.jetty7.app;
 
 import java.io.IOException;
 import javax.servlet.Servlet;

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet2.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet2.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet2.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/app/Servlet2.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.app;
+package org.apache.geronimo.jetty7.app;
 
 import java.io.IOException;
 import javax.servlet.Servlet;

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilderTest.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilderTest.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/JettyModuleBuilderTest.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.deployment;
+package org.apache.geronimo.jetty7.deployment;
 
 import java.io.File;
 import java.io.IOException;
@@ -50,8 +50,9 @@
 import org.apache.geronimo.j2ee.deployment.ModuleBuilderExtension;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.j2ee.management.impl.J2EEServerImpl;
-import org.apache.geronimo.jetty6.JettyContainerImpl;
-import org.apache.geronimo.jetty6.connector.HTTPSocketConnector;
+import org.apache.geronimo.jetty7.JettyContainerImpl;
+import org.apache.geronimo.jetty7.deployment.JettyModuleBuilder;
+import org.apache.geronimo.jetty7.connector.HTTPSocketConnector;
 import org.apache.geronimo.kernel.Jsr77Naming;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.KernelFactory;
@@ -67,6 +68,7 @@
 import org.apache.geronimo.kernel.config.InvalidConfigException;
 import org.apache.geronimo.kernel.config.NoSuchConfigException;
 import org.apache.geronimo.kernel.config.NullConfigurationStore;
+import org.apache.geronimo.kernel.config.LifecycleException;
 import org.apache.geronimo.kernel.management.State;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.ArtifactManager;
@@ -77,9 +79,18 @@
 import org.apache.geronimo.kernel.repository.ImportType;
 import org.apache.geronimo.kernel.repository.Repository;
 import org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl;
+import org.apache.geronimo.security.SecurityService;
+import org.apache.geronimo.security.SecurityServiceImpl;
+import org.apache.geronimo.security.jacc.mappingprovider.GeronimoPolicyConfigurationFactory;
+import org.apache.geronimo.security.jacc.mappingprovider.GeronimoPolicy;
 import org.apache.geronimo.system.serverinfo.BasicServerInfo;
+import org.apache.geronimo.system.serverinfo.ServerInfo;
 import org.apache.geronimo.transaction.manager.GeronimoTransactionManagerGBean;
 import org.apache.geronimo.xbeans.geronimo.j2ee.GerSecurityDocument;
+import org.apache.geronimo.schema.ElementConverter;
+import org.apache.geronimo.schema.SecurityElementConverter;
+import org.apache.geronimo.schema.NamespaceElementConverter;
+import org.apache.geronimo.schema.SchemaConversionUtils;
 import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
 
 /**
@@ -102,77 +113,84 @@
     private ConfigurationStore configStore;
 
     public void testDeployWar4() throws Exception {
-        File outputPath = new File(BASEDIR, "target/test-resources/deployables/war4");
-        recursiveDelete(outputPath);
-        outputPath.mkdirs();
-        new File(outputPath, "war").mkdir();
-        File path = new File(BASEDIR, "src/test/resources/deployables/war4");
-        UnpackedJarFile jarFile = new UnpackedJarFile(path);
-        Module module = builder.createModule(null, jarFile, kernel.getNaming(), new ModuleIDBuilder());
-        Repository repository = null;
-
-        AbstractName moduleName = module.getModuleName();
-        EARContext earContext = createEARContext(outputPath, defaultEnvironment, repository, configStore, moduleName);
-        module.setEarContext(earContext);
-        module.setRootEarContext(earContext);
-        builder.initContext(earContext, module, cl);
-        builder.addGBeans(earContext, module, cl, Collections.EMPTY_SET);
-        ConfigurationData configurationData = earContext.getConfigurationData();
-        earContext.close();
-        module.close();
-
-        Artifact configurationId = configurationData.getId();
-        configurationManager.loadConfiguration(configurationData);
-        Configuration configuration = configurationManager.getConfiguration(configurationId);
-        configurationManager.startConfiguration(configurationId);
+        String appName = "war4";
+        FakeEarBuilder fake = new FakeEarBuilder(appName);
 
-        assertEquals(State.RUNNING_INDEX, kernel.getGBeanState(moduleName));
-        Set names = configuration.findGBeans(new AbstractNameQuery(moduleName.getArtifact(), Collections.EMPTY_MAP));
+        assertEquals(State.RUNNING_INDEX, kernel.getGBeanState(fake.moduleName));
+        Set names = fake.configuration.findGBeans(new AbstractNameQuery(fake.moduleName.getArtifact(), Collections.EMPTY_MAP));
         log.debug("names: " + names);
         for (Iterator iterator = names.iterator(); iterator.hasNext();) {
             AbstractName objectName = (AbstractName) iterator.next();
             assertEquals(State.RUNNING_INDEX, kernel.getGBeanState(objectName));
         }
 
-        configurationManager.stopConfiguration(configurationId);
-        configurationManager.unloadConfiguration(configurationId);
+        configurationManager.stopConfiguration(fake.configurationId);
+        configurationManager.unloadConfiguration(fake.configurationId);
 
     }
 
     public void testContextRootWithSpaces() throws Exception {
-        File outputPath = new File(BASEDIR, "target/test-resources/deployables/war-spaces-in-context");
-        recursiveDelete(outputPath);
-        outputPath.mkdirs();
-        new File(outputPath, "war").mkdir();
-        File path = new File(BASEDIR, "src/test/resources/deployables/war-spaces-in-context");
-        UnpackedJarFile jarFile = new UnpackedJarFile(path);
-        Module module = builder.createModule(null, jarFile, kernel.getNaming(), new ModuleIDBuilder());
-        Repository repository = null;
-
-        AbstractName moduleName = module.getModuleName();
-        EARContext earContext = createEARContext(outputPath, defaultEnvironment, repository, configStore, moduleName);
-        module.setEarContext(earContext);
-        module.setRootEarContext(earContext);
-        builder.initContext(earContext, module, cl);
-        builder.addGBeans(earContext, module, cl, Collections.EMPTY_SET);
-        ConfigurationData configurationData = earContext.getConfigurationData();
-        earContext.close();
-        module.close();
-
-        Artifact configurationId = configurationData.getId();
-        configurationManager.loadConfiguration(configurationData);
-        Configuration configuration = configurationManager.getConfiguration(configurationId);
-        configurationManager.startConfiguration(configurationId);
+        String appName = "war-spaces-in-context";
+        FakeEarBuilder fake = new FakeEarBuilder(appName);
 
-        String contextRoot = (String) kernel.getAttribute(moduleName, "contextPath");
+
+        String contextRoot = (String) kernel.getAttribute(fake.moduleName, "contextPath");
         assertNotNull(contextRoot);
         assertEquals(contextRoot, contextRoot.trim());
 
-        configurationManager.stopConfiguration(configurationId);
-        configurationManager.unloadConfiguration(configurationId);
+        configurationManager.stopConfiguration(fake.configurationId);
+        configurationManager.unloadConfiguration(fake.configurationId);
 
     }
 
+    public void testDeployJaspiConfigProvider() throws Exception {
+        FakeEarBuilder fake = new FakeEarBuilder("jaspi1");
+
+        assertEquals(State.RUNNING_INDEX, kernel.getGBeanState(fake.moduleName));
+        Set names = fake.configuration.findGBeans(new AbstractNameQuery(fake.moduleName.getArtifact(), Collections.EMPTY_MAP));
+        log.debug("names: " + names);
+        for (Iterator iterator = names.iterator(); iterator.hasNext();) {
+            AbstractName objectName = (AbstractName) iterator.next();
+            assertEquals(State.RUNNING_INDEX, kernel.getGBeanState(objectName));
+        }
+
+        configurationManager.stopConfiguration(fake.configurationId);
+        configurationManager.unloadConfiguration(fake.configurationId);
+
+    }
+
+    private class FakeEarBuilder {
+        private AbstractName moduleName;
+        private Artifact configurationId;
+        private Configuration configuration;
+
+        private FakeEarBuilder(String appName) throws IOException, DeploymentException, LifecycleException, NoSuchConfigException {
+            File outputPath = new File(BASEDIR, "target/test-resources/deployables/" + appName);
+            recursiveDelete(outputPath);
+            outputPath.mkdirs();
+            new File(outputPath, "war").mkdir();
+            File path = new File(BASEDIR, "src/test/resources/deployables/" + appName);
+            UnpackedJarFile jarFile = new UnpackedJarFile(path);
+            Module module = builder.createModule(null, jarFile, kernel.getNaming(), new ModuleIDBuilder());
+            Repository repository = null;
+
+            moduleName = module.getModuleName();
+            EARContext earContext = createEARContext(outputPath, defaultEnvironment, repository, configStore, moduleName);
+            module.setEarContext(earContext);
+            module.setRootEarContext(earContext);
+            builder.initContext(earContext, module, cl);
+            builder.addGBeans(earContext, module, cl, Collections.EMPTY_SET);
+            ConfigurationData configurationData = earContext.getConfigurationData();
+            earContext.close();
+            module.close();
+
+            configurationId = configurationData.getId();
+            configurationManager.loadConfiguration(configurationData);
+            configuration = configurationManager.getConfiguration(configurationId);
+            configurationManager.startConfiguration(configurationId);
+        }
+    }
+
     private EARContext createEARContext(File outputPath, Environment environment, Repository repository, ConfigurationStore configStore, AbstractName moduleName) throws DeploymentException {
         Set repositories = repository == null ? Collections.EMPTY_SET : Collections.singleton(repository);
         ArtifactManager artifactManager = new DefaultArtifactManager();
@@ -207,13 +225,19 @@
             }
         }
     }
+    protected void setUpSecurityService() throws Exception {
+        ServerInfo serverInfo = new BasicServerInfo(".");
+
+        new SecurityServiceImpl(cl, serverInfo, GeronimoPolicyConfigurationFactory.class.getName(), GeronimoPolicy.class.getName(), null, null, null, null);
+    }
 
     protected void setUp() throws Exception {
         super.setUp();
+        cl = this.getClass().getClassLoader();
+        setUpSecurityService();
 
         ((SchemaTypeImpl) GerSecurityDocument.type).addSubstitutionGroupMember(org.apache.geronimo.xbeans.geronimo.security.GerSecurityDocument.type.getDocumentElementName());
 
-        cl = this.getClass().getClassLoader();
         kernel = KernelFactory.newInstance().createKernel("test");
         kernel.boot();
 
@@ -292,6 +316,9 @@
                 new MockResourceEnvironmentSetter(),
                 kernel);
         builder.doStart();
+
+        GeronimoSecurityBuilderImpl securityBuilder = new GeronimoSecurityBuilderImpl(null);
+        securityBuilder.doStart();
     }
 
     protected void tearDown() throws Exception {

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/MockResourceEnvironmentSetter.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/MockResourceEnvironmentSetter.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/MockResourceEnvironmentSetter.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/MockResourceEnvironmentSetter.java Tue Aug  5 15:24:44 2008
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.geronimo.jetty6.deployment;
+package org.apache.geronimo.jetty7.deployment;
 
 import org.apache.geronimo.naming.deployment.ResourceEnvironmentBuilder;
 import org.apache.geronimo.naming.deployment.ResourceEnvironmentSetter;

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/PlanParsingTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/PlanParsingTest.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/PlanParsingTest.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/PlanParsingTest.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.deployment;
+package org.apache.geronimo.jetty7.deployment;
 
 import java.io.File;
 import java.io.IOException;
@@ -22,6 +22,8 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.Map;
+import java.util.HashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.jar.JarFile;
 
@@ -41,6 +43,8 @@
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.geronimo.schema.ElementConverter;
+import org.apache.geronimo.schema.SecurityElementConverter;
 import org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl;
 import org.apache.geronimo.testsupport.XmlBeansTestSupport;
 import org.apache.geronimo.web.deployment.GenericToSpecificPlanConverter;
@@ -50,6 +54,7 @@
 import org.apache.geronimo.xbeans.geronimo.web.jetty.config.GerJettyDocument;
 import org.apache.geronimo.xbeans.javaee.WebAppDocument;
 import org.apache.geronimo.xbeans.javaee.WebAppType;
+import org.apache.geronimo.jetty7.deployment.MockResourceEnvironmentSetter;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlException;
@@ -92,6 +97,8 @@
                 new MockResourceEnvironmentSetter(),
                 null);
         builder.doStart();
+        GeronimoSecurityBuilderImpl securityBuilder = new GeronimoSecurityBuilderImpl(null);
+        securityBuilder.doStart();
     }
 
     protected void tearDown() throws Exception {

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/StartupOrderComparatorTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/StartupOrderComparatorTest.java?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/StartupOrderComparatorTest.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/java/org/apache/geronimo/jetty7/deployment/StartupOrderComparatorTest.java Tue Aug  5 15:24:44 2008
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.geronimo.jetty6.deployment;
+package org.apache.geronimo.jetty7.deployment;
 
 import junit.framework.TestCase;
 import org.apache.geronimo.xbeans.javaee.ServletType;

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/geronimo-web.xml?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/geronimo-web.xml (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/geronimo-web.xml Tue Aug  5 15:24:44 2008
@@ -18,7 +18,8 @@
 -->
 
 <jetty:web-app
-    xmlns:jetty="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
+    xmlns:jetty="http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0.2"
+    xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1">
     <environment>
         <moduleId>
             <groupId>foo</groupId>
@@ -29,13 +30,36 @@
     </environment>
 
     <jetty:context-root>/test</jetty:context-root>
-    <jetty:work-dir>myworkdir</jetty:work-dir>
-    <!--
-        <jetty:security>
-            <sec:default-principal>
-                <sec:principal class="org.apache.geronimo.security.DefaultPrincipal"
-                    name="bar"/>
-            </sec:default-principal>
-        </jetty:security>
-    -->
+    <jetty:security-realm-name>demo-properties-realm</jetty:security-realm-name>
+    <jetty:authentication>
+        <configProvider xmlns="http://geronimo.apache.org/xml/ns/geronimo-jaspi">
+            <messageLayer>Http</messageLayer>
+            <appContext>test-app1</appContext>
+            <description>description</description>
+            <clientAuthConfig>
+                <authenticationContextID>authenticationContextID1</authenticationContextID>
+                <protected>true</protected>
+                <clientAuthContext>
+                    <clientAuthModule>
+                        <className>org.apache.geronimo.components.jaspi.providers.DummyClientAuthModule</className>
+                    </clientAuthModule>
+                </clientAuthContext>
+            </clientAuthConfig>
+            <serverAuthConfig>
+                <authenticationContextID>authenticationContextID2</authenticationContextID>
+                <protected>true</protected>
+                <serverAuthContext>
+                    <serverAuthModule>
+                        <className>org.apache.geronimo.components.jaspi.providers.DummyServerAuthModule</className>
+                    </serverAuthModule>
+                </serverAuthContext>
+            </serverAuthConfig>
+            <persistent>true</persistent>
+        </configProvider>
+    </jetty:authentication>
+    <sec:security>
+        <sec:default-principal>
+            <sec:principal class="org.apache.geronimo.security.realm.providers.PropertiesFileUserPrincipal" name="izumi"/>
+        </sec:default-principal>
+    </sec:security>
 </jetty:web-app>

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/web.xml?rev=682995&r1=674670&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/web.xml (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7-builder/src/test/resources/deployables/jaspi1/WEB-INF/web.xml Tue Aug  5 15:24:44 2008
@@ -21,42 +21,36 @@
 
 <web-app>
     <description>Test Web Deployment</description>
-    <resource-env-ref>
-        <resource-env-ref-name>fake-resource-env-ref</resource-env-ref-name>
-        <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
-    </resource-env-ref>
-    <resource-ref>
-        <res-ref-name>fake-resource-ref</res-ref-name>
-        <res-type>javax.sql.DataSource</res-type>
-        <res-auth>Container</res-auth>
-        <res-sharing-scope>Shareable</res-sharing-scope>
-    </resource-ref>
-    <ejb-ref>
-        <ejb-ref-name>fake-ejb-ref</ejb-ref-name>
-        <ejb-ref-type>Entity</ejb-ref-type>
-        <home>some.package.FakeHome</home>
-        <remote>some.package.Fake</remote>
-    </ejb-ref>
-    <ejb-ref>
-        <ejb-ref-name>another-ejb-ref</ejb-ref-name>
-        <ejb-ref-type>Entity</ejb-ref-type>
-        <home>some.package.FakeHome</home>
-        <remote>some.package.Fake</remote>
-    </ejb-ref>
-    <ejb-local-ref>
-        <ejb-ref-name>fake-ejb-local-ref</ejb-ref-name>
-        <ejb-ref-type>Entity</ejb-ref-type>
-        <local-home>some.package.FakeLocalHome</local-home>
-        <local>some.package.FakeLocal</local>
-    </ejb-local-ref>
-    <ejb-local-ref>
-        <ejb-ref-name>another-ejb-local-ref</ejb-ref-name>
-        <ejb-ref-type>Entity</ejb-ref-type>
-        <local-home>some.package.FakeLocalHome</local-home>
-        <local>some.package.FakeLocal</local>
-    </ejb-local-ref>
-<!--    <service-ref>-->
-<!--        <service-ref-name>fake-service-ref</service-ref-name>-->
-<!--        <service-interface>some.package.FakeService</service-interface>-->
-<!--    </service-ref>-->
+
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>Admin Role</web-resource-name>
+            <url-pattern>/protected/*</url-pattern>
+        </web-resource-collection>
+        <auth-constraint>
+            <role-name>content-administrator</role-name>
+        </auth-constraint>
+    </security-constraint>
+
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>NO ACCESS</web-resource-name>
+            <url-pattern>/auth/logon.html</url-pattern>
+        </web-resource-collection>
+        <auth-constraint/>
+    </security-constraint>
+
+    <login-config>
+        <auth-method>FORM</auth-method>
+        <realm-name>Test JAAS Realm</realm-name>
+        <form-login-config>
+            <form-login-page>/auth/logon.html?param=test</form-login-page>
+            <form-error-page>/auth/logonError.html?param=test</form-error-page>
+        </form-login-config>
+    </login-config>
+
+    <security-role>
+        <role-name>content-administrator</role-name>
+    </security-role>
+
 </web-app>

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/JettyWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/JettyWebAppContext.java?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/JettyWebAppContext.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/JettyWebAppContext.java Tue Aug  5 15:24:44 2008
@@ -35,8 +35,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.geronimo.connector.outbound.connectiontracking.TrackedConnectionAssociator;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.gbean.annotation.GBean;
 import org.apache.geronimo.gbean.annotation.ParamAttribute;
@@ -51,7 +49,6 @@
 import org.apache.geronimo.jetty7.handler.AbstractImmutableHandler;
 import org.apache.geronimo.jetty7.handler.ComponentContextHandler;
 import org.apache.geronimo.jetty7.handler.InstanceContextHandler;
-import org.apache.geronimo.jetty7.handler.JettySecurityHandler;
 import org.apache.geronimo.jetty7.handler.LifecycleCommand;
 import org.apache.geronimo.jetty7.handler.ThreadClassloaderHandler;
 import org.apache.geronimo.jetty7.handler.TwistyWebAppContext;
@@ -68,8 +65,8 @@
 import org.apache.geronimo.transaction.GeronimoUserTransaction;
 import org.mortbay.jetty.Handler;
 import org.mortbay.jetty.MimeTypes;
-import org.mortbay.jetty.security.Authenticator;
-import org.mortbay.jetty.security.ServletCallbackHandler;
+import org.mortbay.jetty.security.NoSecurityHandler;
+import org.mortbay.jetty.security.SecurityHandler;
 import org.mortbay.jetty.servlet.ErrorPageErrorHandler;
 import org.mortbay.jetty.servlet.ServletHandler;
 import org.mortbay.jetty.servlet.ServletHolder;
@@ -275,13 +272,17 @@
         } else {
             sessionHandler = new SessionHandler();
         }
-        JettySecurityHandler securityHandler = null;
+        SecurityHandler securityHandler = null;
 //        if (securityRealmName != null) {
 //            InternalJAASJettyRealm internalJAASJettyRealm = jettyContainer.addRealm(securityRealmName);
             //wrap jetty realm with something that knows the dumb realmName
 //            JAASJettyRealm realm = new JAASJettyRealm(realmName, internalJAASJettyRealm);
+        if (securityHandlerFactory != null) {
             Subject defaultSubject =  this.runAsSource.getDefaultSubject();
             securityHandler = securityHandlerFactory.buildSecurityHandler(policyContextID, defaultSubject, runAsSource);
+        } else {
+            securityHandler = new NoSecurityHandler();
+        }
 //        }
 
         ServletHandler servletHandler = new ServletHandler();

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/handler/TwistyWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/handler/TwistyWebAppContext.java?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/handler/TwistyWebAppContext.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/handler/TwistyWebAppContext.java Tue Aug  5 15:24:44 2008
@@ -22,14 +22,14 @@
 
 import java.io.IOException;
 
+import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
 
 import org.mortbay.jetty.Handler;
 import org.mortbay.jetty.Server;
 import org.mortbay.jetty.handler.ErrorHandler;
-import org.mortbay.jetty.security.AbstractSecurityHandler;
+import org.mortbay.jetty.security.SecurityHandler;
 import org.mortbay.jetty.servlet.ServletHandler;
 import org.mortbay.jetty.servlet.SessionHandler;
 import org.mortbay.jetty.webapp.WebAppContext;
@@ -42,7 +42,7 @@
     private Handler handler;
 
 
-    public TwistyWebAppContext(AbstractSecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler) {
+    public TwistyWebAppContext(SecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler) {
         super(securityHandler, sessionHandler, servletHandler, errorHandler);
     }
 

Copied: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java (from r675561, geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java)
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java?p2=geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java&p1=geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java&r1=675561&r2=682995&rev=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java Tue Aug  5 15:24:44 2008
@@ -26,30 +26,47 @@
 import javax.security.auth.Subject;
 import javax.security.auth.message.config.ServerAuthConfig;
 import javax.security.auth.message.config.ServerAuthContext;
+import javax.security.auth.message.config.AuthConfigFactory;
+import javax.security.auth.message.config.AuthConfigProvider;
+import javax.security.auth.message.config.RegistrationListener;
+import javax.security.auth.message.AuthException;
 
 import org.apache.geronimo.jetty7.handler.JettySecurityHandler;
 import org.apache.geronimo.security.jacc.RunAsSource;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
 import org.mortbay.jetty.security.ServletCallbackHandler;
 import org.mortbay.jetty.security.jaspi.SimpleAuthConfig;
 
 /**
- * @version $Rev:$ $Date:$
+ * Fetches a ServerAuthConfig out of the AuthConfigFactory
+ * 
+ * @version $Rev$ $Date$
  */
-public class ServerAuthConfigGBean implements SecurityHandlerFactory {
 
-    private ServerAuthConfig serverAuthConfig;
-    private ServletCallbackHandler servletCallbackHandler = new ServletCallbackHandler();
-    private Map authConfigProperties = new HashMap<Object, Object>();
-    private Subject serviceSubject = null;
+@GBean
+public class AuthConfigProviderHandlerFactory implements SecurityHandlerFactory {
 
-
-    public ServerAuthConfigGBean(ServletCallbackHandler servletCallbackHandler, ServerAuthContext serverAuthContext) {
-        this.servletCallbackHandler = servletCallbackHandler;
-        this.serverAuthConfig = new SimpleAuthConfig(null, serverAuthContext);
+    private final ServerAuthConfig serverAuthConfig;
+    private final ServletCallbackHandler servletCallbackHandler = new ServletCallbackHandler();
+    private final Map authConfigProperties = new HashMap<Object, Object>();
+    private final Subject serviceSubject = null;
+
+
+    public AuthConfigProviderHandlerFactory(@ParamAttribute(name = "messageLayer") String messageLayer,
+                                   @ParamAttribute(name = "appContext") String appContext) throws AuthException {
+        AuthConfigFactory authConfigFactory = AuthConfigFactory.getFactory();
+        RegistrationListener listener = new RegistrationListener() {
+
+            public void notify(String layer, String appContext) {
+            }
+        };
+        AuthConfigProvider authConfigProvider = authConfigFactory.getConfigProvider(messageLayer, appContext, listener);
+        this.serverAuthConfig = authConfigProvider.getServerAuthConfig(messageLayer, appContext, servletCallbackHandler);
     }
 
     public JettySecurityHandler buildSecurityHandler(String policyContextID, Subject defaultSubject, RunAsSource runAsSource) {
         return new JettySecurityHandler(policyContextID, defaultSubject, runAsSource, serverAuthConfig, serviceSubject, authConfigProperties, servletCallbackHandler);
     }
 
-}
+}
\ No newline at end of file

Propchange: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/AuthConfigProviderHandlerFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java (original)
+++ geronimo/sandbox/djencks/jetty7/geronimo-jetty7/src/main/java/org/apache/geronimo/jetty7/security/ServerAuthConfigGBean.java Tue Aug  5 15:24:44 2008
@@ -33,7 +33,9 @@
 import org.mortbay.jetty.security.jaspi.SimpleAuthConfig;
 
 /**
- * @version $Rev:$ $Date:$
+ * Wraps a supplied ServerAuthContext in a ServerAuthConfig instance.  Mostly for testing...
+ * 
+ * @version $Rev$ $Date$
  */
 public class ServerAuthConfigGBean implements SecurityHandlerFactory {
 

Modified: geronimo/sandbox/djencks/jetty7/jetty7/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/jetty7/pom.xml?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/jetty7/pom.xml (original)
+++ geronimo/sandbox/djencks/jetty7/jetty7/pom.xml Tue Aug  5 15:24:44 2008
@@ -96,7 +96,7 @@
 
         <dependency>
             <groupId>org.mortbay.jetty</groupId>
-            <artifactId>jetty-sslengine</artifactId>
+            <artifactId>jetty-ssl</artifactId>
         </dependency>
 
         <dependency>
@@ -110,6 +110,18 @@
             <type>car</type>
             <version>${version}</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jaspi_1.0_spec</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.components</groupId>
+            <artifactId>geronimo-jaspi</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+
     </dependencies>
 
     <build>
@@ -160,7 +172,7 @@
                         </dependency>
                         <dependency start="true">
                             <groupId>org.mortbay.jetty</groupId>
-                            <artifactId>jetty-sslengine</artifactId>
+                            <artifactId>jetty-ssl</artifactId>
                             <type>jar</type>
                         </dependency>
                         <dependency start="true">
@@ -173,6 +185,15 @@
                             <artifactId>webservices-common</artifactId>
                             <type>car</type>
                         </dependency>
+                        <dependency>
+                            <groupId>org.apache.geronimo.specs</groupId>
+                            <artifactId>geronimo-jaspi_1.0_spec</artifactId>
+                            <version>1.0-SNAPSHOT</version>
+                        </dependency>
+                        <dependency>
+                            <groupId>org.apache.geronimo.components</groupId>
+                            <artifactId>geronimo-jaspi</artifactId>
+                        </dependency>
                     </dependencies>
                     <instance>
                         <plugin-artifact>

Modified: geronimo/sandbox/djencks/jetty7/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/jetty7/pom.xml?rev=682995&r1=682994&r2=682995&view=diff
==============================================================================
--- geronimo/sandbox/djencks/jetty7/pom.xml (original)
+++ geronimo/sandbox/djencks/jetty7/pom.xml Tue Aug  5 15:24:44 2008
@@ -67,7 +67,6 @@
 
     <modules>
         <module>geronimo-jetty7</module>
-<!--
         <module>geronimo-jetty7-builder</module>
         <module>jetty7</module>
         <module>jetty7-deployer</module>
@@ -75,7 +74,6 @@
         <module>geronimo-jetty7-clustering-wadi</module>
         <module>jetty7-clustering-builder-wadi</module>
         <module>jetty7-clustering-wadi</module>
--->
     </modules>
 
 </project>