[gatein-commits] gatein SVN: r1629 - in components/sso/trunk: cas and 93 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Feb 11 05:21:12 EST 2010
Author: thomas.heute at jboss.com
Date: 2010-02-11 05:21:09 -0500 (Thu, 11 Feb 2010)
New Revision: 1629
Added:
components/sso/trunk/cas/
components/sso/trunk/cas/gatein-cas-plugin/
components/sso/trunk/cas/gatein-cas-plugin/pom.xml
components/sso/trunk/cas/gatein-cas-plugin/src/
components/sso/trunk/cas/gatein-cas-plugin/src/main/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/cas/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/cas/plugin/
components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/cas/plugin/AuthenticationPlugin.java
components/sso/trunk/cas/gatein-cas-plugin/src/main/resources/
components/sso/trunk/cas/gatein-cas-plugin/src/main/resources/log4j.properties
components/sso/trunk/cas/gatein-cas-plugin/src/test/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/cas/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/cas/plugin/
components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/cas/plugin/TestAuthenticationPlugin.java
components/sso/trunk/cas/gatein-cas-plugin/src/test/resources/
components/sso/trunk/cas/gatein-cas-portal/
components/sso/trunk/cas/gatein-cas-portal/pom.xml
components/sso/trunk/cas/gatein-cas-portal/src/
components/sso/trunk/cas/gatein-cas-portal/src/main/
components/sso/trunk/cas/gatein-cas-portal/src/main/assembly/
components/sso/trunk/cas/gatein-cas-portal/src/main/assembly/src.xml
components/sso/trunk/cas/gatein-cas-portal/src/main/config/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/gatein.ear/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/gatein.ear/META-INF/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/WEB-INF/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/WEB-INF/classes/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/groovy/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/groovy/portal/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/groovy/portal/webui/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/login/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/gatein/portal.war/login/jsp/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/plugin/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/plugin/WEB-INF/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/plugin/WEB-INF/classes/
components/sso/trunk/cas/gatein-cas-portal/src/main/config/plugin/lib/
components/sso/trunk/cas/gatein-cas-portal/src/main/resources/
components/sso/trunk/cas/gatein-cas-portal/src/main/resources/gatein.ear/
components/sso/trunk/cas/gatein-cas-portal/src/main/resources/plugin/
components/sso/trunk/cas/gatein-cas-portal/src/main/resources/plugin/WEB-INF/
components/sso/trunk/cas/gatein-cas-portal/src/main/resources/plugin/WEB-INF/deployerConfigContext.xml
components/sso/trunk/cas/pom.xml
components/sso/trunk/josso/
components/sso/trunk/josso/gatein-josso-plugin/
components/sso/trunk/josso/gatein-josso-plugin/pom.xml
components/sso/trunk/josso/gatein-josso-plugin/src/
components/sso/trunk/josso/gatein-josso-plugin/src/main/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/josso/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/josso/plugin/
components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/josso/plugin/GateinIdentityPlugin.java
components/sso/trunk/josso/gatein-josso-portal/
components/sso/trunk/josso/gatein-josso-portal/pom.xml
components/sso/trunk/josso/gatein-josso-portal/src/
components/sso/trunk/josso/gatein-josso-portal/src/main/
components/sso/trunk/josso/gatein-josso-portal/src/main/assembly/
components/sso/trunk/josso/gatein-josso-portal/src/main/assembly/src.xml
components/sso/trunk/josso/gatein-josso-portal/src/main/config/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/gatein.ear/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/gatein.ear/META-INF/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/WEB-INF/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/WEB-INF/classes/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/groovy/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/groovy/portal/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/groovy/portal/webui/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/login/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/gatein/portal.war/login/jsp/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/plugin/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/plugin/WEB-INF/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/plugin/WEB-INF/classes/
components/sso/trunk/josso/gatein-josso-portal/src/main/config/plugin/lib/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/WEB-INF/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/WEB-INF/classes/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/WEB-INF/classes/josso-agent-config.xml
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/WEB-INF/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/WEB-INF/classes/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-config.xml
components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-gatein-stores.xml
components/sso/trunk/josso/pom.xml
components/sso/trunk/opensso/
components/sso/trunk/opensso/gatein-opensso-plugin/
components/sso/trunk/opensso/gatein-opensso-plugin/pom.xml
components/sso/trunk/opensso/gatein-opensso-plugin/src/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/AuthenticationPlugin.java
components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/GateInPrincipal.java
components/sso/trunk/opensso/gatein-opensso-portal/
components/sso/trunk/opensso/gatein-opensso-portal/pom.xml
components/sso/trunk/opensso/gatein-opensso-portal/src/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/assembly/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/assembly/src.xml
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/WEB-INF/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/WEB-INF/classes/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/auth/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/auth/default/
components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/auth/default/AuthenticationPlugin.xml
components/sso/trunk/opensso/pom.xml
components/sso/trunk/packaging/src/
components/sso/trunk/packaging/src/main/
components/sso/trunk/packaging/src/main/assembly/
components/sso/trunk/packaging/src/main/assembly/src.xml
components/sso/trunk/packaging/src/main/resources/
components/sso/trunk/packaging/src/main/resources/README
Removed:
components/sso/trunk/README
components/sso/trunk/gatein-cas-plugin/
components/sso/trunk/gatein-josso-plugin/
components/sso/trunk/gatein-opensso-plugin/
components/sso/trunk/packaging/cas/
components/sso/trunk/packaging/josso/
components/sso/trunk/packaging/opensso/
components/sso/trunk/packaging/profiles.xml
Modified:
components/sso/trunk/packaging/pom.xml
Log:
Major refactor
Deleted: components/sso/trunk/README
===================================================================
--- components/sso/trunk/README 2010-02-11 08:06:44 UTC (rev 1628)
+++ components/sso/trunk/README 2010-02-11 10:21:09 UTC (rev 1629)
@@ -1,41 +0,0 @@
-Instructions:
------------------
-
-Build All:
----------------------------------
-* mvn clean install
-
-or
-
-* mvn clean package
-
-
-
-
-
-Install CAS plugin into a designated CAS (3.3.4) server:
--------------------------------------------------
-Step 1: Go to the packaging directory: cd packaging
-
-Step 2: Update the profiles.xml to reflect the directories where your local JBoss AS 5.1.0.GA and Tomcat 6.0.2 are installed
-
-Step 3: mvn -Pplugin-cas-install install
-
-
-
-Install CAS GateIn Agent into the designated GateIn server:
------------------------------------------------------------
-Step 1: Go to the packaging directory: cd packaging
-
-Step 2: Update the profiles.xml to reflect the directories where your local JBoss AS 5.1.0.GA and Tomcat 6.0.2 are installed
-
-Step 3: mvn -Pgatein-cas-install install
-
-
-
-Under Construction:
----------------------
-
-* JOSSO 1.8.1 integration
-
-* OpenSSO 8.0 Update1 integration
\ No newline at end of file
Added: components/sso/trunk/cas/gatein-cas-plugin/pom.xml
===================================================================
--- components/sso/trunk/cas/gatein-cas-plugin/pom.xml (rev 0)
+++ components/sso/trunk/cas/gatein-cas-plugin/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,61 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>gatein-sso-parent</artifactId>
+ <relativePath>../pom.xml</relativePath>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>gatein-cas-plugin</artifactId>
+ <packaging>jar</packaging>
+ <name>Gatein Integration for CAS Single Sign On Framework</name>
+
+ <properties>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jasig.cas</groupId>
+ <artifactId>cas-server-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- profile for packaging and deploying this plugin into a cas server -->
+ <profiles>
+ <profile>
+ <id>integration-tests</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
+
Added: components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/cas/plugin/AuthenticationPlugin.java
===================================================================
--- components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/cas/plugin/AuthenticationPlugin.java (rev 0)
+++ components/sso/trunk/cas/gatein-cas-plugin/src/main/java/org/gatein/sso/cas/plugin/AuthenticationPlugin.java 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,141 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.gatein.sso.cas.plugin;
+
+import org.apache.log4j.Logger;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.GetMethod;
+
+import org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler;
+import org.jasig.cas.authentication.principal.UsernamePasswordCredentials;
+
+/**
+ * This is a Gatein Authentication Plugin for the CAS server. It is deployed along with the CAS server and provides authentication
+ * against a Gatein instance
+ *
+ * @author <a href="mailto:sshah at redhat.com">Sohil Shah</a>
+ */
+public class AuthenticationPlugin extends AbstractUsernamePasswordAuthenticationHandler
+{
+ private static Logger log = Logger.getLogger(AuthenticationPlugin.class);
+
+ private String gateInHost;
+ private String gateInPort;
+ private String gateInContext;
+
+ public AuthenticationPlugin()
+ {
+
+ }
+
+ public String getGateInHost()
+ {
+ return gateInHost;
+ }
+
+
+
+ public void setGateInHost(String gateInHost)
+ {
+ this.gateInHost = gateInHost;
+ }
+
+
+
+ public String getGateInPort()
+ {
+ return gateInPort;
+ }
+
+
+ public void setGateInPort(String gateInPort)
+ {
+ this.gateInPort = gateInPort;
+ }
+
+ public String getGateInContext()
+ {
+ return gateInContext;
+ }
+
+ public void setGateInContext(String gateInContext)
+ {
+ this.gateInContext = gateInContext;
+ }
+ //-----------------------------------------------------------------------------------------------------------------------------------------------------------------
+ public boolean authenticateUsernamePasswordInternal(final UsernamePasswordCredentials credentials)
+ {
+ try
+ {
+ final String username = credentials.getUsername();
+ final String password = credentials.getPassword();
+
+ StringBuilder urlBuffer = new StringBuilder();
+ urlBuffer.append("http://"+this.gateInHost+":"+this.gateInPort+"/"+this.gateInContext+"/rest/sso/authcallback/auth/"+username+"/"+password);
+
+ log.debug("-------------------------------------------------------------------");
+ log.debug("REST Request="+urlBuffer.toString());
+ log.debug("-------------------------------------------------------------------");
+
+ return this.executeRemoteCall(urlBuffer.toString());
+ }
+ catch(Exception e)
+ {
+ log.error("Remote Authentication Failed--------------------------");
+ log.error(this, e);
+ return false;
+ }
+ }
+
+ private boolean executeRemoteCall(String authUrl) throws Exception
+ {
+ HttpClient client = new HttpClient();
+ GetMethod method = null;
+ try
+ {
+ method = new GetMethod(authUrl);
+
+ int status = client.executeMethod(method);
+ String response = method.getResponseBodyAsString();
+
+ switch(status)
+ {
+ case 200:
+ if(response.equals(Boolean.TRUE.toString()))
+ {
+ return true;
+ }
+ break;
+ }
+
+ return false;
+ }
+ finally
+ {
+ if(method != null)
+ {
+ method.releaseConnection();
+ }
+ }
+ }
+}
Added: components/sso/trunk/cas/gatein-cas-plugin/src/main/resources/log4j.properties
===================================================================
--- components/sso/trunk/cas/gatein-cas-plugin/src/main/resources/log4j.properties (rev 0)
+++ components/sso/trunk/cas/gatein-cas-plugin/src/main/resources/log4j.properties 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,8 @@
+# Set root category priority to INFO and its only appender to CONSOLE.
+log4j.rootCategory=INFO, CONSOLE
+
+# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Threshold=INFO
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
Added: components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/cas/plugin/TestAuthenticationPlugin.java
===================================================================
--- components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/cas/plugin/TestAuthenticationPlugin.java (rev 0)
+++ components/sso/trunk/cas/gatein-cas-plugin/src/test/java/org/gatein/sso/cas/plugin/TestAuthenticationPlugin.java 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,69 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.gatein.sso.cas.plugin;
+
+import junit.framework.TestCase;
+
+import org.gatein.sso.cas.plugin.AuthenticationPlugin;
+import org.jasig.cas.authentication.principal.UsernamePasswordCredentials;
+
+/**
+ * @author <a href="mailto:sshah at redhat.com">Sohil Shah</a>
+ */
+public class TestAuthenticationPlugin extends TestCase
+{
+ private AuthenticationPlugin authPlugin;
+
+ public void setUp() throws Exception
+ {
+ this.authPlugin = new AuthenticationPlugin();
+
+ this.authPlugin.setGateInHost("localhost");
+ this.authPlugin.setGateInPort("1500");
+ this.authPlugin.setGateInContext("portal");
+ }
+
+ public void tearDown() throws Exception
+ {
+ this.authPlugin = null;
+ }
+ //-------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ public void testAuthenticationCallback() throws Exception
+ {
+ //Unsuccessful login scenario
+ UsernamePasswordCredentials credentials = new UsernamePasswordCredentials();
+ credentials.setUsername("root");
+ credentials.setPassword("blah");
+
+ boolean authResult = this.authPlugin.authenticate(credentials);
+ assertFalse("Login should *not* have succeeded!!", authResult);
+
+
+ //Successful login scenario
+ credentials = new UsernamePasswordCredentials();
+ credentials.setUsername("root");
+ credentials.setPassword("gtn");
+
+ authResult = this.authPlugin.authenticate(credentials);
+ assertTrue("Login should have succeeded!!", authResult);
+ }
+}
Added: components/sso/trunk/cas/gatein-cas-portal/pom.xml
===================================================================
--- components/sso/trunk/cas/gatein-cas-portal/pom.xml (rev 0)
+++ components/sso/trunk/cas/gatein-cas-portal/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,51 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>cas-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>cas-pkg</artifactId>
+ <packaging>pom</packaging>
+ <name>CAS Agent and Server Packages</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>gatein-cas-plugin</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-5</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id> <!-- this is used for inheritance merges -->
+ <phase>package</phase> <!-- append to the packaging phase. -->
+ <goals>
+ <goal>single</goal> <!-- goals == mojos -->
+ </goals>
+ </execution>
+ </executions>
+
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
Added: components/sso/trunk/cas/gatein-cas-portal/src/main/assembly/src.xml
===================================================================
--- components/sso/trunk/cas/gatein-cas-portal/src/main/assembly/src.xml (rev 0)
+++ components/sso/trunk/cas/gatein-cas-portal/src/main/assembly/src.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,27 @@
+<assembly>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <formats>
+ <format>dir</format>
+
+ </formats>
+
+ <fileSets>
+ <fileSet>
+
+ <directory>src/main/resources</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+ </fileSets>
+
+ <dependencySets>
+
+ <dependencySet>
+
+ <outputDirectory>gatein.ear/lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <useTransitiveDependencies>false</useTransitiveDependencies>
+ </dependencySet>
+
+ </dependencySets>
+
+</assembly>
\ No newline at end of file
Added: components/sso/trunk/cas/gatein-cas-portal/src/main/resources/plugin/WEB-INF/deployerConfigContext.xml
===================================================================
--- components/sso/trunk/cas/gatein-cas-portal/src/main/resources/plugin/WEB-INF/deployerConfigContext.xml (rev 0)
+++ components/sso/trunk/cas/gatein-cas-portal/src/main/resources/plugin/WEB-INF/deployerConfigContext.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ | deployerConfigContext.xml centralizes into one file some of the declarative configuration that
+ | all CAS deployers will need to modify.
+ |
+ | This file declares some of the Spring-managed JavaBeans that make up a CAS deployment.
+ | The beans declared in this file are instantiated at context initialization time by the Spring
+ | ContextLoaderListener declared in web.xml. It finds this file because this
+ | file is among those declared in the context parameter "contextConfigLocation".
+ |
+ | By far the most common change you will need to make in this file is to change the last bean
+ | declaration to replace the default SimpleTestUsernamePasswordAuthenticationHandler with
+ | one implementing your approach for authenticating usernames and passwords.
+ +-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
+ <!--
+ | This bean declares our AuthenticationManager. The CentralAuthenticationService service bean
+ | declared in applicationContext.xml picks up this AuthenticationManager by reference to its id,
+ | "authenticationManager". Most deployers will be able to use the default AuthenticationManager
+ | implementation and so do not need to change the class of this bean. We include the whole
+ | AuthenticationManager here in the userConfigContext.xml so that you can see the things you will
+ | need to change in context.
+ +-->
+ <bean id="authenticationManager"
+ class="org.jasig.cas.authentication.AuthenticationManagerImpl">
+ <!--
+ | This is the List of CredentialToPrincipalResolvers that identify what Principal is trying to authenticate.
+ | The AuthenticationManagerImpl considers them in order, finding a CredentialToPrincipalResolver which
+ | supports the presented credentials.
+ |
+ | AuthenticationManagerImpl uses these resolvers for two purposes. First, it uses them to identify the Principal
+ | attempting to authenticate to CAS /login . In the default configuration, it is the DefaultCredentialsToPrincipalResolver
+ | that fills this role. If you are using some other kind of credentials than UsernamePasswordCredentials, you will need to replace
+ | DefaultCredentialsToPrincipalResolver with a CredentialsToPrincipalResolver that supports the credentials you are
+ | using.
+ |
+ | Second, AuthenticationManagerImpl uses these resolvers to identify a service requesting a proxy granting ticket.
+ | In the default configuration, it is the HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose.
+ | You will need to change this list if you are identifying services by something more or other than their callback URL.
+ +-->
+ <property name="credentialsToPrincipalResolvers">
+ <list>
+ <!--
+ | UsernamePasswordCredentialsToPrincipalResolver supports the UsernamePasswordCredentials that we use for /login
+ | by default and produces SimplePrincipal instances conveying the username from the credentials.
+ |
+ | If you've changed your LoginFormAction to use credentials other than UsernamePasswordCredentials then you will also
+ | need to change this bean declaration (or add additional declarations) to declare a CredentialsToPrincipalResolver that supports the
+ | Credentials you are using.
+ +-->
+ <bean
+ class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" />
+ <!--
+ | HttpBasedServiceCredentialsToPrincipalResolver supports HttpBasedCredentials. It supports the CAS 2.0 approach of
+ | authenticating services by SSL callback, extracting the callback URL from the Credentials and representing it as a
+ | SimpleService identified by that callback URL.
+ |
+ | If you are representing services by something more or other than an HTTPS URL whereat they are able to
+ | receive a proxy callback, you will need to change this bean declaration (or add additional declarations).
+ +-->
+ <bean
+ class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver" />
+ </list>
+ </property>
+
+ <!--
+ | Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate,
+ | AuthenticationHandlers actually authenticate credentials. Here we declare the AuthenticationHandlers that
+ | authenticate the Principals that the CredentialsToPrincipalResolvers identified. CAS will try these handlers in turn
+ | until it finds one that both supports the Credentials presented and succeeds in authenticating.
+ +-->
+ <property name="authenticationHandlers">
+ <list>
+ <!--
+ | This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
+ | a server side SSL certificate.
+ +-->
+ <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
+ p:httpClient-ref="httpClient" />
+ <!--
+ | This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS
+ | into production. The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
+ | where the username equals the password. You will need to replace this with an AuthenticationHandler that implements your
+ | local authentication strategy. You might accomplish this by coding a new such handler and declaring
+ | edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
+ +-->
+
+ <!--
+ <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
+ -->
+ <!-- Integrates with the Gatein Authentication Service to perform authentication -->
+ <!--
+ Note: Modify the Plugin Configuration based on the actual information of a GateIn instance.
+ The instance can be anywhere on the internet...Not on localhost where CAS is running
+ -->
+ <bean class="org.gatein.sso.cas.plugin.AuthenticationPlugin">
+ <property name="gateInHost"><value>localhost</value></property>
+ <property name="gateInPort"><value>8080</value></property>
+ <property name="gateInContext"><value>portal</value></property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+
+
+ <!--
+ This bean defines the security roles for the Services Management application. Simple deployments can use the in-memory version.
+ More robust deployments will want to use another option, such as the Jdbc version.
+
+ The name of this should remain "userDetailsService" in order for Acegi to find it.
+
+ To use this, you should add an entry similar to the following between the two value tags:
+ battags=notused,ROLE_ADMIN
+
+ where battags is the username you want to grant access to. You can put one entry per line.
+ -->
+ <bean id="userDetailsService" class="org.springframework.security.userdetails.memory.InMemoryDaoImpl">
+ <property name="userMap">
+ <value>
+
+ </value>
+ </property>
+ </bean>
+
+ <!--
+ Bean that defines the attributes that a service may return. This example uses the Stub/Mock version. A real implementation
+ may go against a database or LDAP server. The id should remain "attributeRepository" though.
+ -->
+ <bean id="attributeRepository"
+ class="org.jasig.services.persondir.support.StubPersonAttributeDao">
+ <property name="backingMap">
+ <map>
+ <entry key="uid" value="uid" />
+ <entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
+ <entry key="groupMembership" value="groupMembership" />
+ </map>
+ </property>
+ </bean>
+
+ <!--
+ Sample, in-memory data store for the ServiceRegistry. A real implementation
+ would probably want to replace this with the JPA-backed ServiceRegistry DAO
+ The name of this bean should remain "serviceRegistryDao".
+ -->
+ <bean
+ id="serviceRegistryDao"
+ class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />
+</beans>
Added: components/sso/trunk/cas/pom.xml
===================================================================
--- components/sso/trunk/cas/pom.xml (rev 0)
+++ components/sso/trunk/cas/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This pom functions as a default configuration. The subproject
+ poms each inherit configuration from this one.
+
+ When adding version information for an artifact please do the following
+ - add a version property for the specific version
+ - add a dependency in the dependencyManagement section which refers to
+ the property
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>cas-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>sso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+
+ <name>Gatein - Single Sign On Integration (CAS)</name>
+ <description>GateIn Single Sign On Integration (CAS)</description>
+
+ <modules>
+ <module>gatein-cas-plugin</module>
+ <module>gatein-cas-portal</module>
+ </modules>
+
+</project>
Added: components/sso/trunk/josso/gatein-josso-plugin/pom.xml
===================================================================
--- components/sso/trunk/josso/gatein-josso-plugin/pom.xml (rev 0)
+++ components/sso/trunk/josso/gatein-josso-plugin/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,135 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>josso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>gatein-josso-plugin</artifactId>
+ <packaging>jar</packaging>
+ <name>Gatein Integration for JOSSO Single Sign On Framework</name>
+
+ <properties>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.josso</groupId>
+ <artifactId>josso-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.josso</groupId>
+ <artifactId>josso-basic-authscheme</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>apache-log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>maven-xbean-plugin</artifactId>
+ <version>${version.xbean}</version>
+ <executions>
+ <execution>
+ <configuration>
+ <namespace>urn:org:gatein:sso:josso:plugin:gateinidentityplugin</namespace>
+ </configuration>
+ <goals>
+ <goal>mapping</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- profile for packaging and deploying this plugin into a josso server -->
+ <!--
+ TODO: move this into the packaging module
+ -->
+ <!--
+ <profiles>
+ <profile>
+ <id>plugin-tomcat-deploy</id>
+ <properties>
+ <tomcat60.josso.location>/home/soshah/projects/gatein/runtime/tomcat-josso-1.8.1</tomcat60.josso.location>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
+ <artifactId>maven-antrun-extended-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>plugin-tomcat-package</id>
+ <phase>package</phase>
+ <configuration>
+ <tasks>
+ <echo message="Preparing the JOSSO Plugin for Tomcat 6.0.2......"/>
+
+ <delete dir="${basedir}/target/plugin"/>
+ <mkdir dir="${basedir}/target/plugin"/>
+
+ <copy todir="${basedir}/target/plugin/lib">
+ <fileset dir="${basedir}/src/main/config">
+ <include name="josso-gateway-*.xml"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${basedir}/target/plugin/webapps/josso/WEB-INF">
+ <fileset dir="${basedir}/src/main/config/WEB-INF"/>
+ </copy>
+
+ <copy tofile="${basedir}/target/plugin/webapps/josso/WEB-INF/lib/gatein-josso-plugin.jar"
+ file="${basedir}/target/gatein-josso-plugin-${project.version}.jar"
+ overwrite="true"/>
+
+ <copy tofile="${basedir}/target/plugin/webapps/josso/WEB-INF/lib/log4j.jar"
+ file="${settings.localRepository}/apache-log4j/log4j/${version.log4j}/log4j-${version.log4j}.jar"
+ overwrite="true"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>plugin-tomcat-install</id>
+ <phase>install</phase>
+ <configuration>
+ <tasks>
+ <echo message="Starting JOSSO Plugin Deployment into Tomcat 6.0.2......"/>
+
+
+ <jar destfile="${basedir}/target/plugin.jar" basedir="${basedir}/target/plugin"/>
+
+
+ <unjar src="${basedir}/target/plugin.jar" dest="${tomcat60.josso.location}" overwrite="true"/>
+
+
+ <delete dir="${tomcat60.josso.location}/META-INF"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ -->
+</project>
+
Added: components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/josso/plugin/GateinIdentityPlugin.java
===================================================================
--- components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/josso/plugin/GateinIdentityPlugin.java (rev 0)
+++ components/sso/trunk/josso/gatein-josso-plugin/src/main/java/org/gatein/sso/josso/plugin/GateinIdentityPlugin.java 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,231 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.gatein.sso.josso.plugin;
+
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+
+import org.josso.gateway.identity.exceptions.NoSuchUserException;
+import org.josso.gateway.identity.exceptions.SSOIdentityException;
+import org.josso.gateway.identity.service.BaseRole;
+import org.josso.gateway.identity.service.BaseUser;
+import org.josso.gateway.identity.service.BaseUserImpl;
+import org.josso.gateway.identity.service.store.UserKey;
+import org.josso.gateway.identity.service.store.IdentityStore;
+
+import org.josso.auth.Credential;
+import org.josso.auth.CredentialKey;
+import org.josso.auth.CredentialProvider;
+import org.josso.auth.scheme.AuthenticationScheme;
+import org.josso.auth.BindableCredentialStore;
+import org.josso.auth.exceptions.SSOAuthenticationException;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.GetMethod;
+
+/**
+ * @org.apache.xbean.XBean element="gatein-store"
+ *
+ * @author <a href="mailto:sshah at redhat.com">Sohil Shah</a>
+ *
+ */
+public class GateinIdentityPlugin implements BindableCredentialStore,IdentityStore
+{
+ private static Logger log = Logger.getLogger(GateinIdentityPlugin.class);
+
+ private AuthenticationScheme authenticationScheme = null;
+
+ private String gateInHost;
+ private String gateInPort;
+ private String gateInContext;
+
+ /**
+ *
+ *
+ */
+ public GateinIdentityPlugin()
+ {
+ InputStream is = null;
+ try
+ {
+ ///Load the GateIn properties
+ Properties properties = new Properties();
+ is = Thread.currentThread().getContextClassLoader().getResourceAsStream("gatein.properties");
+ properties.load(is);
+
+ this.gateInHost = properties.getProperty("host");
+ this.gateInPort = properties.getProperty("port");
+ this.gateInContext = properties.getProperty("context");
+
+ log
+ .info("-------------------------------------------------------------------");
+ log.info("GateIn Host: " + this.gateInHost);
+ log
+ .info("GateIn Identity Plugin successfully started........................");
+ log
+ .info("-------------------------------------------------------------------");
+ }
+ catch (Exception e)
+ {
+ this.authenticationScheme = null;
+
+ log.error(this, e);
+ throw new RuntimeException(
+ "GateIn Identity Plugin registration failed....");
+ }
+ finally
+ {
+ if(is != null)
+ {
+ try{is.close();}catch(Exception e){}
+ }
+ }
+ }
+
+ public void setAuthenticationScheme(AuthenticationScheme authenticationScheme)
+ {
+ this.authenticationScheme = authenticationScheme;
+ }
+
+ public String getGateInHost()
+ {
+ return gateInHost;
+ }
+
+ public void setGateInHost(String gateInHost)
+ {
+ this.gateInHost = gateInHost;
+ }
+
+ public String getGateInPort()
+ {
+ return gateInPort;
+ }
+
+ public void setGateInPort(String gateInPort)
+ {
+ this.gateInPort = gateInPort;
+ }
+
+ public String getGateInContext()
+ {
+ return gateInContext;
+ }
+
+ public void setGateInContext(String gateInContext)
+ {
+ this.gateInContext = gateInContext;
+ }
+
+ // ----------------IdentityStore
+ // implementation------------------------------------------------------------------------------------------------------------------------
+ public boolean userExists(UserKey userKey) throws SSOIdentityException
+ {
+ return true;
+ }
+
+ public BaseRole[] findRolesByUserKey(UserKey userKey)
+ throws SSOIdentityException
+ {
+ return null;
+ }
+
+ public BaseUser loadUser(UserKey userKey) throws NoSuchUserException,
+ SSOIdentityException
+ {
+ BaseUser user = new BaseUserImpl();
+ user.setName(userKey.toString());
+ return user;
+ }
+ // ---------------CredentialStore
+ // implementation----------------------------------------------------------------------------------------------------------------------
+ public Credential[] loadCredentials(CredentialKey credentialKey,
+ CredentialProvider credentialProvider) throws SSOIdentityException
+ {
+ return null;
+ }
+
+ public Credential[] loadCredentials(CredentialKey credentialKey) throws SSOIdentityException
+ {
+ return null;
+ }
+
+ public boolean bind(String username, String password)
+ throws SSOAuthenticationException
+ {
+ try
+ {
+ // return this.portalIdentityService.authenticate(username, password);
+ log.debug("Performing Authentication........................");
+ log.debug("Username: "+username);
+ log.debug("Password: "+password);
+
+ StringBuilder urlBuffer = new StringBuilder();
+ urlBuffer.append("http://" + this.gateInHost + ":" + this.gateInPort + "/"
+ + this.gateInContext + "/rest/sso/authcallback/auth/" + username + "/"
+ + password);
+
+ boolean success = this.executeRemoteCall(urlBuffer.toString());
+
+ return success;
+ }
+ catch(Exception e)
+ {
+ throw new SSOAuthenticationException(e);
+ }
+ }
+ //------------------------------------------------------------------------------------------------------------------------------------------
+ private boolean executeRemoteCall(String authUrl) throws Exception
+ {
+ HttpClient client = new HttpClient();
+ GetMethod method = null;
+ try
+ {
+ method = new GetMethod(authUrl);
+
+ int status = client.executeMethod(method);
+ String response = method.getResponseBodyAsString();
+
+ switch (status)
+ {
+ case 200:
+ if (response.equals(Boolean.TRUE.toString()))
+ {
+ return true;
+ }
+ break;
+ }
+
+ return false;
+ }
+ finally
+ {
+ if (method != null)
+ {
+ method.releaseConnection();
+ }
+ }
+ }
+}
Added: components/sso/trunk/josso/gatein-josso-portal/pom.xml
===================================================================
--- components/sso/trunk/josso/gatein-josso-portal/pom.xml (rev 0)
+++ components/sso/trunk/josso/gatein-josso-portal/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,81 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>josso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>josso-pkg</artifactId>
+ <packaging>pom</packaging>
+ <name>JOSSO Agent and Server Packages</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.josso</groupId>
+ <artifactId>josso-agents-bin</artifactId>
+ <version>1.8.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.josso</groupId>
+ <artifactId>josso-agent-shared</artifactId>
+ <version>1.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ <version>2.5.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>2.5.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>2.5.5</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-discovery</groupId>
+ <artifactId>commons-discovery</artifactId>
+ <version>0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.axis</groupId>
+ <artifactId>axis</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-spring</artifactId>
+ <version>3.4.3</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-5</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id> <!-- this is used for inheritance merges -->
+ <phase>package</phase> <!-- append to the packaging phase. -->
+ <goals>
+ <goal>single</goal> <!-- goals == mojos -->
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
Added: components/sso/trunk/josso/gatein-josso-portal/src/main/assembly/src.xml
===================================================================
--- components/sso/trunk/josso/gatein-josso-portal/src/main/assembly/src.xml (rev 0)
+++ components/sso/trunk/josso/gatein-josso-portal/src/main/assembly/src.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,27 @@
+<assembly>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <formats>
+ <format>dir</format>
+
+ </formats>
+
+ <fileSets>
+ <fileSet>
+
+ <directory>src/main/resources</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+ </fileSets>
+
+ <dependencySets>
+
+ <dependencySet>
+
+ <outputDirectory>gatein.ear/lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <useTransitiveDependencies>false</useTransitiveDependencies>
+ </dependencySet>
+
+ </dependencySets>
+
+</assembly>
\ No newline at end of file
Added: components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/WEB-INF/classes/josso-agent-config.xml
===================================================================
--- components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/WEB-INF/classes/josso-agent-config.xml (rev 0)
+++ components/sso/trunk/josso/gatein-josso-portal/src/main/resources/gatein.ear/portal.war/WEB-INF/classes/josso-agent-config.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<s:beans xmlns:s="http://www.springframework.org/schema/beans"
+ xmlns:gen-svlt="urn:org:josso:agent:generic-servlet"
+ xmlns:agent="urn:org:josso:agent:core"
+ xmlns:protocol="urn:org:josso:protocol:client"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+<gen-svlt:agent name="josso-tomcat60-agent" sessionAccessMinInterval="1000">
+
+ <gatewayLoginUrl>http://localhost:8888/josso/signon/login.do</gatewayLoginUrl>
+ <gatewayLogoutUrl>http://localhost:8888/josso/signon/logout.do</gatewayLogoutUrl>
+
+ <gatewayServiceLocator>
+ <protocol:ws-service-locator endpoint="localhost:8888"/>
+ </gatewayServiceLocator>
+ <configuration>
+ <agent:agent-configuration>
+ <agent:partner-apps>
+ <agent:partner-app id="portal" context="/portal"/>
+ </agent:partner-apps>
+ </agent:agent-configuration>
+ </configuration>
+ <parametersBuilders>
+ <agent:vhost-parameters-builder/>
+ <agent:appctx-parameters-builder/>
+ </parametersBuilders>
+ </gen-svlt:agent>
+</s:beans>
\ No newline at end of file
Added: components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties
===================================================================
--- components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties (rev 0)
+++ components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,3 @@
+host=localhost
+port=8080
+context=portal
\ No newline at end of file
Added: components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-config.xml
===================================================================
--- components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-config.xml (rev 0)
+++ components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-config.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ ~ JOSSO: Java Open Single Sign-On
+ ~
+ ~ Copyright 2004-2009, Atricore, Inc.
+ ~
+ ~ This is free software; you can redistribute it and/or modify it
+ ~ under the terms of the GNU Lesser General Public License as
+ ~ published by the Free Software Foundation; either version 2.1 of
+ ~ the License, or (at your option) any later version.
+ ~
+ ~ This software is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public
+ ~ License along with this software; if not, write to the Free
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ ~
+ -->
+
+<s:beans xmlns:s="http://www.springframework.org/schema/beans"
+ xmlns="urn:org:josso:core"
+ xmlns:def-sdselector="urn:org:josso:default:secdomainselector"
+ xmlns:def-sdregistry="urn:org:josso:default:secdomainregistry"
+ xmlns:simple-sdmatcher="urn:org:josso:simple:secdomainmatcher"
+ xmlns:vhost-sdmatcher="urn:org:josso:vhost:secdomainmatcher"
+ xmlns:appcxt-sdmatcher="urn:org:josso:appctx:secdomainmatcher"
+ xmlns:def-auth="urn:org:josso:default:authenticator"
+ xmlns:basic-authscheme="urn:org:josso:basic:authscheme"
+ xmlns:bind-authscheme="urn:org:josso:bind:authscheme"
+ xmlns:ntlm-authscheme="urn:org:josso:ntlm:authscheme"
+ xmlns:strong-authscheme="urn:org:josso:strong:authscheme"
+ xmlns:memory-istore="urn:org:josso:memory:identitystore"
+ xmlns:def-identitymgr="urn:org:josso:default:identitymgr"
+ xmlns:def-identityprv="urn:org:josso:default:identityprovider"
+ xmlns:def-sessionmgr="urn:org:josso:default:sessionmgr"
+ xmlns:memory-sstore="urn:org:josso:memory:sessionstore"
+ xmlns:def-sidgen="urn:org:josso:default:sessionidgen"
+ xmlns:def-assertionmgr="urn:org:josso:default:assertionmgr"
+ xmlns:memory-astore="urn:org:josso:memory:assertionstore"
+ xmlns:def-aidgen="urn:org:josso:default:assertionidgen"
+ xmlns:def-auditmgr="urn:org:josso:default:auditmgr"
+ xmlns:logger-atrailhandler="urn:org:josso:logger:audittrailhandler"
+ xmlns:def-eventmgr="urn:org:josso:default:eventmgr"
+ xmlns:def-pwdmgr="urn:org:josso:default:passwordmgr"
+ xmlns:def-pwdgen="urn:org:josso:default:passwordgenerator"
+ xmlns:email-pwddist="urn:org:josso:email:passworddistributor"
+ xmlns:simple-lostpwd="urn:org:josso:simple:lostpasswordprocess"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ urn:org:josso:core http://www.josso.org/schema/josso-core.xsd
+ urn:org:josso:default:secdomainselector http://www.josso.org/schema/josso-default-secdomainselector.xsd
+ urn:org:josso:default:secdomainregistry http://www.josso.org/schema/josso-default-secdomainregistry.xsd
+ urn:org:josso:simple:secdomainmatcher http://www.josso.org/schema/josso-simple-secdomainmatcher.xsd
+ urn:org:josso:vhost:secdomainmatcher http://www.josso.org/schema/josso-vhost-secdomainmatcher.xsd
+ urn:org:josso:appctx:secdomainmatcher http://www.josso.org/schema/josso-appctx-secdomainmatcher.xsd
+ urn:org:josso:default:authenticator http://www.josso.org/schema/josso-default-authenticator.xsd
+ urn:org:josso:basic:authscheme http://www.josso.org/schema/josso-basic-authscheme.xsd
+ urn:org:josso:bind:authscheme http://www.josso.org/schema/josso-bind-authscheme.xsd
+ urn:org:josso:ntlm:authscheme http://www.josso.org/schema/josso-ntlm-authscheme.xsd
+ urn:org:josso:strong:authscheme http://www.josso.org/schema/josso-strong-authscheme.xsd
+ urn:org:josso:memory:identitystore http://www.josso.org/schema/josso-memory-identitystore.xsd
+ urn:org:josso:default:identitymgr http://www.josso.org/schema/josso-default-identitymgr.xsd
+ urn:org:josso:default:identityprovider http://www.josso.org/schema/josso-default-identityprovider.xsd
+ urn:org:josso:default:sessionmgr http://www.josso.org/schema/josso-default-sessionmgr.xsd
+ urn:org:josso:memory:sessionstore http://www.josso.org/schema/josso-memory-sessionstore.xsd
+ urn:org:josso:default:sessionidgen http://www.josso.org/schema/josso-default-sessionidgen.xsd
+ urn:org:josso:default:assertionmgr http://www.josso.org/schema/josso-default-assertionmgr.xsd
+ urn:org:josso:memory:assertionstore http://www.josso.org/schema/josso-memory-assertionstore.xsd
+ urn:org:josso:default:assertionidgen http://www.josso.org/schema/josso-default-assertionidgen.xsd
+ urn:org:josso:default:auditmgr http://www.josso.org/schema/josso-default-auditmgr.xsd
+ urn:org:josso:logger:audittrailhandler http://www.josso.org/schema/josso-logger-audittrailhandler.xsd
+ urn:org:josso:default:eventmgr http://www.josso.org/schema/josso-default-eventmgr.xsd
+ urn:org:josso:default:passwordmgr http://www.josso.org/schema/josso-default-passwordmanager.xsd
+ urn:org:josso:default:passwordgenerator http://www.josso.org/schema/josso-default-passwordgenerator.xsd
+ urn:org:josso:email:passworddistributor http://www.josso.org/schema/josso-email-passworddistributor.xsd
+ urn:org:josso:simple:lostpasswordprocess http://www.josso.org/schema/josso-simple-lostpasswordprocess.xsd">
+
+ <!-- ================================================================== -->
+ <!-- JOSSO Gateway Configuration using Spring + XBean -->
+ <!-- -->
+ <!-- since JOSSO 1.8 -->
+ <!-- ================================================================== -->
+
+ <!-- To keep things organized when using multiple security domains, prepend the domain name
+ to component ids, in our case all componetes use the 'josso' prefix -->
+
+ <!-- ================================================================== -->
+ <!-- Some components are configured in different files to make -->
+ <!-- configuraiton easier -->
+ <!-- ================================================================== -->
+
+ <!-- Authentication schemes configuration -->
+ <s:import resource="josso-gateway-auth.xml"/>
+
+ <!-- SSO Self services configuration -->
+ <s:import resource="josso-gateway-selfservices.xml"/>
+
+ <!-- Identity, Session and Assertion Stores configuration -->
+ <!--
+ Marker: GateIn customization
+ <s:import resource="josso-gateway-stores.xml" />
+ -->
+ <s:import resource="josso-gateway-gatein-stores.xml" />
+
+ <!-- Web configuration (login form, etc) -->
+ <s:import resource="josso-gateway-web.xml" />
+
+ <!-- JMX, used internally -->
+ <s:import resource="josso-gateway-jmx.xml" />
+
+ <!-- ================================================================== -->
+ <!-- Here we define gateway core structure -->
+ <!-- ================================================================== -->
+ <gateway>
+
+ <sso-domain-selector>
+ <def-sdselector:default-domain-selector/>
+ </sso-domain-selector>
+
+ <sso-domains-registry>
+ <def-sdregistry:default-domains-registry/>
+ </sso-domains-registry>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Security Domains, here we have only one domain configured : josso -->
+ <!-- Most components are configured elsewhere and referenced here to make -->
+ <!-- configuration easier. -->
+ <!-- -->
+ <!-- Unless you have multimple security domains, you will not need to -->
+ <!-- change this part -->
+ <!-- ===================================================================== -->
+ <domains>
+ <s:ref bean="josso"/>
+ </domains>
+
+ </gateway>
+
+
+ <!-- JOSSO Default security domain -->
+ <domain name="josso" type="web">
+
+ <sso-web-configuration>
+ <s:ref bean="josso-web-configuraiton"/>
+ </sso-web-configuration>
+
+ <matchers>
+ <simple-sdmatcher:simple-matcher/>
+ </matchers>
+
+ <authenticator>
+ <s:ref bean="josso-authenticator"/>
+ </authenticator>
+
+ <identity-manager>
+ <s:ref bean="josso-identity-manager"/>
+ </identity-manager>
+
+ <session-manager>
+ <s:ref bean="josso-session-manager"/>
+ </session-manager>
+
+ <assertion-manager>
+ <s:ref bean="josso-assertion-manager"/>
+ </assertion-manager>
+
+ <identity-provider>
+ <s:ref bean="josso-identity-provider"/>
+ </identity-provider>
+
+ <audit-manager>
+ <s:ref bean="josso-audit-manager"/>
+ </audit-manager>
+
+ <event-manager>
+ <s:ref bean="josso-event-manager"/>
+ </event-manager>
+
+ <!-- Only needed when using NTLM -->
+ <protocol-manager>
+ <s:ref bean="josso-protocol-manager"/>
+ </protocol-manager>
+
+ <!-- Only neede for self-services (lost password, etc). -->
+ <password-manager>
+ <s:ref bean="josso-password-manager"/>
+ </password-manager>
+
+ </domain>
+
+
+ <!-- ===================================================================== -->
+ <!-- SSO Authenticator, all authentication schemes must be configured here -->
+ <!-- ===================================================================== -->
+ <def-auth:authenticator id="josso-authenticator">
+ <!--
+ <def-auth:schemes>
+ <s:ref bean="josso-basic-authentication"/>
+ <s:ref bean="josso-strong-authentication"/>
+ <s:ref bean="josso-rememberme-authentication"/>
+ </def-auth:schemes>
+ -->
+
+ <!-- Marker: GateIn customization -->
+ <def-auth:schemes>
+ <s:ref bean="josso-bind-authentication"/>
+ </def-auth:schemes>
+ </def-auth:authenticator>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Identity manager, referencing identity store -->
+ <!-- ===================================================================== -->
+ <def-identitymgr:identity-manager id="josso-identity-manager">
+
+ <def-identitymgr:identityStore>
+ <s:ref bean="josso-identity-store"/>
+ </def-identitymgr:identityStore>
+
+ <def-identitymgr:identityStoreKeyAdapter>
+ <s:ref bean="josso-simple-key-adapter"/>
+ </def-identitymgr:identityStoreKeyAdapter>
+
+ </def-identitymgr:identity-manager>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Identity provider -->
+ <!-- ===================================================================== -->
+ <def-identityprv:identity-provider id="josso-identity-provider"/>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Session manager, referencing session store -->
+ <!-- ===================================================================== -->
+ <def-sessionmgr:session-manager id="josso-session-manager"
+ maxInactiveInterval="30"
+ maxSessionsPerUser="-1"
+ invalidateExceedingSessions="false"
+ sessionMonitorInterval="10000">
+
+ <def-sessionmgr:session-id-generator>
+ <def-sidgen:id-generator algorithm="MD5"/>
+ </def-sessionmgr:session-id-generator>
+
+ <def-sessionmgr:session-store>
+ <s:ref bean="josso-session-store"/>
+ </def-sessionmgr:session-store>
+
+ </def-sessionmgr:session-manager>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Assertion anager, referencing assertion store -->
+ <!-- ===================================================================== -->
+ <def-assertionmgr:assertion-manager id="josso-assertion-manager">
+
+ <def-assertionmgr:assertion-id-generator>
+ <def-aidgen:id-generator/>
+ </def-assertionmgr:assertion-id-generator>
+
+ <def-assertionmgr:assertion-store>
+ <s:ref bean="josso-assertion-store"/>
+ </def-assertionmgr:assertion-store>
+
+ </def-assertionmgr:assertion-manager>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Audit Manager with audit trail handlers -->
+ <!-- ===================================================================== -->
+ <def-auditmgr:audit-manager id="josso-audit-manager">
+
+ <!-- Audit Trail Handlers list -->
+ <def-auditmgr:handlers>
+ <logger-atrailhandler:audittrail-logger category="org.josso.AUDIT"/>
+ </def-auditmgr:handlers>
+
+ </def-auditmgr:audit-manager>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Protocol Manager with handlers -->
+ <!-- ===================================================================== -->
+ <default-protocol-manager id="josso-protocol-manager">
+ <!-- To enable NTLM, uncomment this :
+ <handlers>
+ <ntlm-authscheme:ntlm-protocol-handler/>
+ </handlers>
+ -->
+ </default-protocol-manager>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Event manager, based on spring jmx -->
+ <!-- ===================================================================== -->
+ <def-eventmgr:springjmx-event-manager id="josso-event-manager">
+ <def-eventmgr:listeners>
+ <s:ref bean="josso-audit-manager"/>
+ </def-eventmgr:listeners>
+ </def-eventmgr:springjmx-event-manager>
+
+ <!-- ===================================================================== -->
+ <!-- SSO Simple key addapter used in several components -->
+ <!-- ===================================================================== -->
+ <simple-key-adapter id="josso-simple-key-adapter"/>
+
+ <!-- ===================================================================== -->
+ <!-- Spring Mail Sender bean. Configure mail delivery settings here -->
+ <!-- ===================================================================== -->
+ <s:bean id="josso-spring-mailsender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
+ <!-- Spring JavaMaileSender properties :
+ protocol, host, port, username, password -->
+ <s:property name="host" value="mail.mycompany.com"/>
+ </s:bean>
+
+</s:beans>
Added: components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-gatein-stores.xml
===================================================================
--- components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-gatein-stores.xml (rev 0)
+++ components/sso/trunk/josso/gatein-josso-portal/src/main/resources/plugin/lib/josso-gateway-gatein-stores.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ ~ JOSSO: Java Open Single Sign-On
+ ~
+ ~ Copyright 2004-2009, Atricore, Inc.
+ ~
+ ~ This is free software; you can redistribute it and/or modify it
+ ~ under the terms of the GNU Lesser General Public License as
+ ~ published by the Free Software Foundation; either version 2.1 of
+ ~ the License, or (at your option) any later version.
+ ~
+ ~ This software is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public
+ ~ License along with this software; if not, write to the Free
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ ~
+ -->
+
+<s:beans xmlns:s="http://www.springframework.org/schema/beans"
+ xmlns:gatein-istore="urn:org:gatein:sso:josso:plugin:gateinidentityplugin"
+ xmlns:bind-authscheme="urn:org:josso:bind:authscheme"
+ xmlns:memory-sstore="urn:org:josso:memory:sessionstore"
+ xmlns:memory-astore="urn:org:josso:memory:assertionstore"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ urn:org:josso:memory:identitystore http://www.josso.org/schema/josso-memory-identitystore.xsd
+ urn:org:josso:memory:sessionstore http://www.josso.org/schema/josso-memory-sessionstore.xsd
+ urn:org:josso:memory:assertionstore http://www.josso.org/schema/josso-memory-assertionstore.xsd
+ ">
+
+ <!-- ===================================================================== -->
+ <!-- JOSSO Identity Store, the id is very important because it is -->
+ <!-- referenced by the identity manager, auth schemes and who knows where -->
+ <!-- else. -->
+ <!-- ===================================================================== -->
+ <gatein-istore:gatein-store id="josso-identity-store" s:scope="singleton"/>
+
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- BIND Authentication Scheme -->
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <bind-authscheme:bind-auth-scheme
+ id="josso-bind-authentication"
+ name="basic-authentication"
+ hashAlgorithm="MD5"
+ hashEncoding="HEX"
+ ignorePasswordCase="false"
+ ignoreUserCase="false">
+
+
+ <bind-authscheme:credentialStore>
+ <s:ref bean="josso-identity-store"/>
+ </bind-authscheme:credentialStore>
+
+ <bind-authscheme:credentialStoreKeyAdapter>
+ <s:ref bean="josso-simple-key-adapter"/>
+ </bind-authscheme:credentialStoreKeyAdapter>
+
+ </bind-authscheme:bind-auth-scheme>
+
+ <!-- ===================================================================== -->
+ <!-- JOSSO Session Store, the id is very important because it is -->
+ <!-- referenced by the session manager and who knows where else -->
+ <!-- ===================================================================== -->
+ <memory-sstore:memory-store id="josso-session-store"/>
+
+ <!-- ===================================================================== -->
+ <!-- JOSSO Assertion Store, the id is very important because it is -->
+ <!-- referenced by the assertion manager and who knows where elese -->
+ <!-- ===================================================================== -->
+ <memory-astore:memory-store id="josso-assertion-store"/>
+</s:beans>
Added: components/sso/trunk/josso/pom.xml
===================================================================
--- components/sso/trunk/josso/pom.xml (rev 0)
+++ components/sso/trunk/josso/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This pom functions as a default configuration. The subproject
+ poms each inherit configuration from this one.
+
+ When adding version information for an artifact please do the following
+ - add a version property for the specific version
+ - add a dependency in the dependencyManagement section which refers to
+ the property
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>josso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>sso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+
+ <name>Gatein - Single Sign On Integration (JOSSO)</name>
+ <description>GateIn Single Sign On Integration (JOSSO)</description>
+
+ <modules>
+ <module>gatein-josso-portal</module>
+ <module>gatein-josso-plugin</module>
+ </modules>
+
+</project>
Added: components/sso/trunk/opensso/gatein-opensso-plugin/pom.xml
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-plugin/pom.xml (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-plugin/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,36 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>gatein-sso-parent</artifactId>
+ <relativePath>../pom.xml</relativePath>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>gatein-opensso-plugin</artifactId>
+ <packaging>jar</packaging>
+ <name>Gatein Plugin for the OpenSSO Server</name>
+
+ <properties>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>opensso</groupId>
+ <artifactId>opensso</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>opensso</groupId>
+ <artifactId>amserver</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ </build>
+</project>
+
Added: components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/AuthenticationPlugin.java
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/AuthenticationPlugin.java (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/AuthenticationPlugin.java 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,188 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.gatein.sso.opensso.plugin;
+
+import java.util.Properties;
+import java.util.Map;
+import java.io.InputStream;
+import java.io.IOException;
+
+import java.security.Principal;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.GetMethod;
+
+import com.sun.identity.authentication.spi.AMLoginModule;
+import com.sun.identity.authentication.spi.AuthLoginException;
+import com.sun.identity.authentication.util.ISAuthConstants;
+
+/**
+ * @author <a href="mailto:sshah at redhat.com">Sohil Shah</a>
+ */
+public class AuthenticationPlugin extends AMLoginModule
+{
+ private String gateInHost;
+ private String gateInPort;
+ private String gateInContext;
+
+ private String username;
+ private String password;
+
+ public String getGateInHost()
+ {
+ return gateInHost;
+ }
+
+ public void setGateInHost(String gateInHost)
+ {
+ this.gateInHost = gateInHost;
+ }
+
+ public String getGateInPort()
+ {
+ return gateInPort;
+ }
+
+ public void setGateInPort(String gateInPort)
+ {
+ this.gateInPort = gateInPort;
+ }
+
+ public String getGateInContext()
+ {
+ return gateInContext;
+ }
+
+ public void setGateInContext(String gateInContext)
+ {
+ this.gateInContext = gateInContext;
+ }
+
+ public AuthenticationPlugin()
+ {
+ }
+
+ public void init(Subject subject, Map sharedState, Map options)
+ {
+ InputStream is = null;
+ try
+ {
+ //Load the GateIn properties
+ Properties properties = new Properties();
+ is = Thread.currentThread().getContextClassLoader().getResourceAsStream("gatein.properties");
+ properties.load(is);
+
+ this.gateInHost = properties.getProperty("host");
+ this.gateInPort = properties.getProperty("port");
+ this.gateInContext = properties.getProperty("context");
+ }
+ catch(IOException ioe)
+ {
+
+ }
+ finally
+ {
+ if(is != null)
+ {
+ try{is.close();}catch(Exception e){}
+ }
+ }
+ }
+
+ public int process(Callback[] callbacks, int state) throws AuthLoginException
+ {
+ try
+ {
+ for (int i = 0; i < callbacks.length; i++)
+ {
+ Callback callback = callbacks[i];
+
+ if (callback instanceof NameCallback)
+ {
+ this.username = ((NameCallback) callback).getName();
+ }
+ else if (callback instanceof PasswordCallback)
+ {
+ this.password = new String(((PasswordCallback) callback).getPassword());
+ }
+ }
+
+ StringBuilder urlBuffer = new StringBuilder();
+ urlBuffer.append("http://" + this.gateInHost + ":" + this.gateInPort + "/"
+ + this.gateInContext + "/rest/sso/authcallback/auth/" + username + "/"
+ + password);
+
+ boolean success = this.executeRemoteCall(urlBuffer.toString());
+ if(!success)
+ {
+ throw new AuthLoginException("GateIn Login Callback Failed!!");
+ }
+
+ return ISAuthConstants.LOGIN_SUCCEED;
+ }
+ catch(Throwable e)
+ {
+ throw new AuthLoginException(e);
+ }
+ }
+
+ public Principal getPrincipal()
+ {
+ return new GateInPrincipal(this.username);
+ }
+ //--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ private boolean executeRemoteCall(String authUrl) throws Exception
+ {
+ HttpClient client = new HttpClient();
+ GetMethod method = null;
+ try
+ {
+ method = new GetMethod(authUrl);
+
+ int status = client.executeMethod(method);
+ String response = method.getResponseBodyAsString();
+
+ switch (status)
+ {
+ case 200:
+ if (response.equals(Boolean.TRUE.toString()))
+ {
+ return true;
+ }
+ break;
+ }
+
+ return false;
+ }
+ finally
+ {
+ if (method != null)
+ {
+ method.releaseConnection();
+ }
+ }
+ }
+}
Added: components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/GateInPrincipal.java
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/GateInPrincipal.java (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-plugin/src/main/java/org/gatein/sso/opensso/plugin/GateInPrincipal.java 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,42 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.gatein.sso.opensso.plugin;
+
+import java.security.Principal;
+
+/**
+ * @author <a href="mailto:sshah at redhat.com">Sohil Shah</a>
+ */
+public class GateInPrincipal implements Principal
+{
+ private String name;
+
+ public GateInPrincipal(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return this.name;
+ }
+}
Added: components/sso/trunk/opensso/gatein-opensso-portal/pom.xml
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-portal/pom.xml (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-portal/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,56 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>opensso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>opensso-pkg</artifactId>
+ <packaging>pom</packaging>
+ <name>OpenSSO Agent and Server Packages</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>gatein-opensso-plugin</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>${version.commons-logging}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-5</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id> <!-- this is used for inheritance merges -->
+ <phase>package</phase> <!-- append to the packaging phase. -->
+ <goals>
+ <goal>single</goal> <!-- goals == mojos -->
+ </goals>
+ </execution>
+ </executions>
+
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
Added: components/sso/trunk/opensso/gatein-opensso-portal/src/main/assembly/src.xml
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-portal/src/main/assembly/src.xml (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-portal/src/main/assembly/src.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,27 @@
+<assembly>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <formats>
+ <format>dir</format>
+
+ </formats>
+
+ <fileSets>
+ <fileSet>
+
+ <directory>src/main/resources</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+ </fileSets>
+
+ <dependencySets>
+
+ <dependencySet>
+
+ <outputDirectory>plugin/WEB-INF/lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <useTransitiveDependencies>false</useTransitiveDependencies>
+ </dependencySet>
+
+ </dependencySets>
+
+</assembly>
\ No newline at end of file
Added: components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/WEB-INF/classes/gatein.properties 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,5 @@
+host=localhost
+
+port=8080
+
+context=portal
\ No newline at end of file
Added: components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/auth/default/AuthenticationPlugin.xml
===================================================================
--- components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/auth/default/AuthenticationPlugin.xml (rev 0)
+++ components/sso/trunk/opensso/gatein-opensso-portal/src/main/resources/plugin/config/auth/default/AuthenticationPlugin.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding="UTF-8"?>
+
+<!DOCTYPE ModuleProperties PUBLIC "=//iPlanet//Authentication Module Properties XML Interface 1.0 DTD//EN"
+ "jar://com/sun/identity/authentication/Auth_Module_Properties.dtd">
+
+<ModuleProperties moduleName="AuthenticationPlugin" version="1.0" >
+ <Callbacks length="2" order="1" timeout="60"
+ header="GateIn OpenSSO Login" >
+ <NameCallback>
+ <Prompt>
+ Username
+ </Prompt>
+ </NameCallback>
+ <PasswordCallback echoPassword="false" >
+ <Prompt>
+ Password
+ </Prompt>
+ </PasswordCallback>
+ </Callbacks>
+</ModuleProperties>
Added: components/sso/trunk/opensso/pom.xml
===================================================================
--- components/sso/trunk/opensso/pom.xml (rev 0)
+++ components/sso/trunk/opensso/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This pom functions as a default configuration. The subproject
+ poms each inherit configuration from this one.
+
+ When adding version information for an artifact please do the following
+ - add a version property for the specific version
+ - add a dependency in the dependencyManagement section which refers to
+ the property
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>opensso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.gatein.sso</groupId>
+ <artifactId>sso-parent</artifactId>
+ <version>trunk-SNAPSHOT</version>
+ </parent>
+
+
+ <name>Gatein - Single Sign On Integration (OpenSSO)</name>
+ <description>GateIn Single Sign On Integration (OpenSSO)</description>
+
+ <modules>
+ <module>gatein-opensso-plugin</module>
+ <module>gatein-opensso-portal</module>
+ </modules>
+
+</project>
Modified: components/sso/trunk/packaging/pom.xml
===================================================================
--- components/sso/trunk/packaging/pom.xml 2010-02-11 08:06:44 UTC (rev 1628)
+++ components/sso/trunk/packaging/pom.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -2,8 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.gatein.sso</groupId>
- <artifactId>gatein-sso-parent</artifactId>
- <relativePath>../pom.xml</relativePath>
+ <artifactId>sso-parent</artifactId>
<version>trunk-SNAPSHOT</version>
</parent>
@@ -12,11 +11,27 @@
<packaging>pom</packaging>
<name>Used for packaging deployable artifacts</name>
- <modules>
- <module>cas</module>
- <module>opensso</module>
- <module>josso</module>
- </modules>
-
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-5</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id> <!-- this is used for inheritance merges -->
+ <phase>package</phase> <!-- append to the packaging phase. -->
+ <goals>
+ <goal>single</goal> <!-- goals == mojos -->
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
Deleted: components/sso/trunk/packaging/profiles.xml
===================================================================
--- components/sso/trunk/packaging/profiles.xml 2010-02-11 08:06:44 UTC (rev 1628)
+++ components/sso/trunk/packaging/profiles.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -1,73 +0,0 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-<profilesXml>
- <profiles>
- <profile>
- <id>gatein-cas-install</id>
- <properties>
- <!-- ChangeMe to your specific local environment -->
- <gatein.location>/home/soshah/projects/gatein/runtime/jboss/server/default</gatein.location>
- </properties>
- </profile>
- <profile>
- <id>plugin-cas-install</id>
- <properties>
- <!-- ChangeMe to your specific local environment -->
- <tomcat60.location>/home/soshah/projects/gatein/runtime/tomcat-cas-3.3.4</tomcat60.location>
- </properties>
- </profile>
-
- <profile>
- <id>gatein-josso-install</id>
- <properties>
- <!-- ChangeMe to your specific local environment -->
- <gatein.location>/home/soshah/projects/gatein/runtime/jboss/server/default</gatein.location>
- </properties>
- </profile>
- <profile>
- <id>plugin-josso-install</id>
- <properties>
- <!-- ChangeMe to your specific local environment -->
- <tomcat60.location>/home/soshah/projects/gatein/runtime/tomcat-josso-1.8.1</tomcat60.location>
- </properties>
- </profile>
-
- <profile>
- <id>gatein-opensso-install</id>
- <properties>
- <!-- ChangeMe to your specific local environment -->
- <gatein.location>/home/soshah/projects/gatein/runtime/jboss/server/default</gatein.location>
- </properties>
- </profile>
- <profile>
- <id>plugin-opensso-install</id>
- <properties>
- <!-- ChangeMe to your specific local environment -->
- <tomcat60.location>/home/soshah/projects/gatein/runtime/tomcat-opensso-8.0</tomcat60.location>
- </properties>
- </profile>
- </profiles>
-
- <activeProfiles>
- <activeProfile>gatein-cas-install</activeProfile>
- <activeProfile>plugin-cas-install</activeProfile>
- </activeProfiles>
-</profilesXml>
Added: components/sso/trunk/packaging/src/main/assembly/src.xml
===================================================================
--- components/sso/trunk/packaging/src/main/assembly/src.xml (rev 0)
+++ components/sso/trunk/packaging/src/main/assembly/src.xml 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,31 @@
+<assembly>
+
+ <includeBaseDirectory>false</includeBaseDirectory>
+
+ <formats>
+ <format>zip</format>
+ </formats>
+
+ <fileSets>
+ <fileSet>
+ <directory>../cas/gatein-cas-portal/target/cas-pkg-trunk-SNAPSHOT/</directory>
+ <outputDirectory>sso/cas</outputDirectory>
+ </fileSet>
+ <fileSet>
+ <directory>../josso/gatein-josso-portal/target/josso-pkg-trunk-SNAPSHOT/</directory>
+ <outputDirectory>sso/josso</outputDirectory>
+ </fileSet>
+ </fileSets>
+ <!--
+ <dependencySets>
+
+ <dependencySet>
+
+ <outputDirectory>gatein.ear/lib</outputDirectory>
+ <useProjectArtifact>false</useProjectArtifact>
+ <useTransitiveDependencies>false</useTransitiveDependencies>
+ </dependencySet>
+
+ </dependencySets>
+ -->
+</assembly>
\ No newline at end of file
Added: components/sso/trunk/packaging/src/main/resources/README
===================================================================
--- components/sso/trunk/packaging/src/main/resources/README (rev 0)
+++ components/sso/trunk/packaging/src/main/resources/README 2010-02-11 10:21:09 UTC (rev 1629)
@@ -0,0 +1,3 @@
+GateIn - SSO Integration
+
+Please refer to the GateIn Portal documentation for usage
\ No newline at end of file
More information about the gatein-commits
mailing list