JBoss Portal SVN: r13834 - in jbossexo/modules/sso/trunk: agent and 9 other directories.
by portal-commits@lists.jboss.org
Author: sohil.shah(a)jboss.com
Date: 2009-11-16 02:11:36 -0500 (Mon, 16 Nov 2009)
New Revision: 13834
Added:
jbossexo/modules/sso/trunk/agent/src/main/config/cas/portal.war/WEB-INF/
jbossexo/modules/sso/trunk/agent/src/main/config/cas/portal.war/WEB-INF/web.xml
jbossexo/modules/sso/trunk/agent/src/main/config/josso/portal.war/WEB-INF/
jbossexo/modules/sso/trunk/agent/src/main/config/josso/portal.war/WEB-INF/web.xml
jbossexo/modules/sso/trunk/agent/src/main/java/org/
jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/
jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/sso/
jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/sso/agent/
jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java
Modified:
jbossexo/modules/sso/trunk/.classpath
jbossexo/modules/sso/trunk/agent/pom.xml
jbossexo/modules/sso/trunk/pom.xml
Log:
GateIn SSO Agent
Modified: jbossexo/modules/sso/trunk/.classpath
===================================================================
--- jbossexo/modules/sso/trunk/.classpath 2009-11-16 05:30:12 UTC (rev 13833)
+++ jbossexo/modules/sso/trunk/.classpath 2009-11-16 07:11:36 UTC (rev 13834)
@@ -13,6 +13,7 @@
<classpathentry kind="var" path="M2_REPO/org/exoplatform/ws/exo.ws.rest.core/2.1.0-Beta02/exo.ws.rest.core-2.1.0-Beta02.jar" sourcepath="M2_REPO/org/exoplatform/ws/exo.ws.rest.core/2.1.0-Beta02/exo.ws.rest.core-2.1.0-Beta02-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/exoplatform/core/exo.core.component.security.core/2.3.0-Beta02/exo.core.component.security.core-2.3.0-Beta02.jar" sourcepath="M2_REPO/org/exoplatform/core/exo.core.component.security.core/2.3.0-Beta02/exo.core.component.security.core-2.3.0-Beta02-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/exoplatform/kernel/exo.kernel.container/2.2.0-Beta02/exo.kernel.container-2.2.0-Beta02.jar" sourcepath="M2_REPO/org/exoplatform/kernel/exo.kernel.container/2.2.0-Beta02/exo.kernel.container-2.2.0-Beta02-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/exoplatform/portal/exo.portal.component.web/3.0.0-CR01-SNAPSHOT/exo.portal.component.web-3.0.0-CR01-SNAPSHOT.jar" sourcepath="M2_REPO/org/exoplatform/portal/exo.portal.component.web/3.0.0-CR01-SNAPSHOT/exo.portal.component.web-3.0.0-CR01-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/ws/rs/jsr311-api/1.0/jsr311-api-1.0.jar" sourcepath="M2_REPO/javax/ws/rs/jsr311-api/1.0/jsr311-api-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/picocontainer/picocontainer/1.1/picocontainer-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/>
@@ -21,6 +22,7 @@
<classpathentry kind="var" path="M2_REPO/org/josso/josso-basic-authscheme/1.8.1/josso-basic-authscheme-1.8.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/josso/josso-common/1.8.1/josso-common-1.8.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/josso/josso-core/1.8.1/josso-core-1.8.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: jbossexo/modules/sso/trunk/agent/pom.xml
===================================================================
--- jbossexo/modules/sso/trunk/agent/pom.xml 2009-11-16 05:30:12 UTC (rev 13833)
+++ jbossexo/modules/sso/trunk/agent/pom.xml 2009-11-16 07:11:36 UTC (rev 13834)
@@ -14,8 +14,7 @@
<properties>
<!-- ChangeMe to your specific local environment -->
- <gatein.location>/home/soshah/projects/gatein/runtime/jboss/server/default</gatein.location>
- <version.gatein>3.0.0-CR01-SNAPSHOT</version.gatein>
+ <gatein.location>/home/soshah/projects/gatein/runtime/jboss/server/default</gatein.location>
</properties>
<dependencies>
@@ -23,7 +22,15 @@
<groupId>org.gatein.sso</groupId>
<artifactId>auth-callback</artifactId>
<version>${project.version}</version>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.portal</groupId>
+ <artifactId>exo.portal.component.web</artifactId>
+ </dependency>
</dependencies>
@@ -48,7 +55,7 @@
<delete dir="${basedir}/target/cas"/>
<mkdir dir="${basedir}/target/cas"/>
- <unjar src="${settings.localRepository}/org/exoplatform/portal/exo.portal.web.portal/${version.gatein}/exo.portal.web.portal-${version.gatein}.war"
+ <unjar src="${settings.localRepository}/org/exoplatform/portal/exo.portal.web.portal/${org.exoplatform.portal.version}/exo.portal.web.portal-${org.exoplatform.portal.version}.war"
dest="${basedir}/target/cas/portal.war" overwrite="true"/>
<!-- override the core artifacts -->
@@ -114,7 +121,7 @@
<delete dir="${basedir}/target/josso"/>
<mkdir dir="${basedir}/target/josso"/>
- <unjar src="${settings.localRepository}/org/exoplatform/portal/exo.portal.web.portal/${version.gatein}/exo.portal.web.portal-${version.gatein}.war"
+ <unjar src="${settings.localRepository}/org/exoplatform/portal/exo.portal.web.portal/${org.exoplatform.portal.version}/exo.portal.web.portal-${org.exoplatform.portal.version}.war"
dest="${basedir}/target/josso/portal.war" overwrite="true"/>
<!-- override the core artifacts -->
Added: jbossexo/modules/sso/trunk/agent/src/main/config/cas/portal.war/WEB-INF/web.xml
===================================================================
--- jbossexo/modules/sso/trunk/agent/src/main/config/cas/portal.war/WEB-INF/web.xml (rev 0)
+++ jbossexo/modules/sso/trunk/agent/src/main/config/cas/portal.war/WEB-INF/web.xml 2009-11-16 07:11:36 UTC (rev 13834)
@@ -0,0 +1,308 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!--
+
+ 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.
+
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <display-name>portal</display-name>
+
+ <context-param>
+ <param-name>org.exoplatform.frameworks.jcr.command.web.fckeditor.digitalAssetsWorkspace</param-name>
+ <param-value>portal</param-value>
+ <description>Binary assets workspace name</description>
+ </context-param>
+
+ <context-param>
+ <param-name>org.exoplatform.frameworks.jcr.command.web.fckeditor.digitalAssetsPath</param-name>
+ <param-value>/</param-value>
+ <description>Binary assets path</description>
+ </context-param>
+
+ <!-- ================================================================== -->
+ <!-- RESOURCE FILTER TO CACHE MERGED JAVASCRIPT AND CSS -->
+ <!-- ================================================================== -->
+ <filter>
+ <filter-name>GenericFilter</filter-name>
+ <filter-class>org.exoplatform.web.filter.GenericFilter</filter-class>
+ </filter>
+ <filter>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <filter-class>org.exoplatform.portal.application.ResourceRequestFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>ThreadLocalSessionProviderInitializedFilter</filter-name>
+ <filter-class>org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>SetCurrentIdentityFilter</filter-name>
+ <filter-class>org.exoplatform.services.security.web.SetCurrentIdentityFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>RestEncodingFilter</filter-name>
+ <filter-class>org.exoplatform.services.rest.servlet.RestEncodingFilter</filter-class>
+ <init-param>
+ <param-name>REQUEST_ENCODING</param-name>
+ <param-value>UTF-8</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>CacheUserProfileFilter</filter-name>
+ <filter-class>org.exoplatform.web.CacheUserProfileFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>GenericFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.css</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.gif</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.png</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.jpg</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>/javascript/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>SetCurrentIdentityFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>CacheUserProfileFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>RestEncodingFilter</filter-name>
+ <url-pattern>/rest/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ThreadLocalSessionProviderInitializedFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <!-- ================================================================== -->
+ <!-- LISTENER -->
+ <!-- ================================================================== -->
+ <listener>
+ <listener-class>org.exoplatform.web.GenericHttpListener</listener-class>
+ </listener>
+ <listener>
+ <listener-class>org.exoplatform.portal.application.PortalSessionListener</listener-class>
+ </listener>
+ <listener>
+ <listener-class>org.exoplatform.services.security.web.JAASConversationStateListener</listener-class>
+ </listener>
+ <!-- ================================================================== -->
+ <!-- SERVLET -->
+ <!-- ================================================================== -->
+ <servlet>
+ <servlet-name>portal</servlet-name>
+ <servlet-class>org.exoplatform.portal.application.PortalController</servlet-class>
+ <init-param>
+ <param-name>webui.configuration</param-name>
+ <param-value>app:/WEB-INF/webui-configuration.xml</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RestServer</servlet-name>
+ <description>eXo - Platform REST Server</description>
+ <servlet-class>org.exoplatform.services.rest.servlet.RestServlet</servlet-class>
+ <load-on-startup>4</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>javascript</servlet-name>
+ <servlet-class>org.exoplatform.portal.webui.javascript.JavascriptServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>Controller</servlet-name>
+ <servlet-class>org.exoplatform.frameworks.jcr.web.CommandControllerServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <!-- SSO Integration -->
+ <!--
+ <servlet>
+ <servlet-name>PortalLoginController</servlet-name>
+ <servlet-class>org.exoplatform.web.login.PortalLoginController</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>InitiateLoginServlet</servlet-name>
+ <servlet-class>org.exoplatform.web.login.InitiateLoginServlet</servlet-class>
+ </servlet>
+ -->
+ <servlet>
+ <servlet-name>InitiateLoginServlet</servlet-name>
+ <servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>ErrorLoginServlet</servlet-name>
+ <servlet-class>org.exoplatform.web.login.ErrorLoginServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>GateInServlet</servlet-name>
+ <servlet-class>org.gatein.wci.api.GateInServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+
+ <!-- ================================================================= -->
+ <servlet-mapping>
+ <servlet-name>InitiateLoginServlet</servlet-name>
+ <url-pattern>/initiatelogin</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>ErrorLoginServlet</servlet-name>
+ <url-pattern>/errorlogin</url-pattern>
+ </servlet-mapping>
+
+ <!-- SSO Integration -->
+ <!--
+ <servlet-mapping>
+ <servlet-name>PortalLoginController</servlet-name>
+ <url-pattern>/login</url-pattern>
+ </servlet-mapping>
+ -->
+
+ <servlet-mapping>
+ <servlet-name>javascript</servlet-name>
+ <url-pattern>/javascript/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/private/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/public/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/admin/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/service</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/command/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RestServer</servlet-name>
+ <url-pattern>/rest/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>Controller</servlet-name>
+ <url-pattern>/connector</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>GateInServlet</servlet-name>
+ <url-pattern>/gateinservlet</url-pattern>
+ </servlet-mapping>
+
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <!-- The Welcome File List for IBM WebSphere -->
+
+ <welcome-file-list>
+ <welcome-file>/index.jsp</welcome-file>
+ </welcome-file-list>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>user authentication</web-resource-name>
+ <url-pattern>/private/*</url-pattern>
+ <http-method>POST</http-method>
+ <http-method>GET</http-method>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>users</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>admin authentication</web-resource-name>
+ <url-pattern>/admin/*</url-pattern>
+ <http-method>POST</http-method>
+ <http-method>GET</http-method>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>admin</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <login-config>
+ <auth-method>FORM</auth-method>
+ <realm-name>exo-domain</realm-name>
+ <form-login-config>
+ <form-login-page>/initiatelogin</form-login-page>
+ <form-error-page>/errorlogin</form-error-page>
+ </form-login-config>
+ </login-config>
+ <security-role>
+ <description>a simple user role</description>
+ <role-name>users</role-name>
+ </security-role>
+ <security-role>
+ <description>the admin role</description>
+ <role-name>admin</role-name>
+ </security-role>
+</web-app>
\ No newline at end of file
Added: jbossexo/modules/sso/trunk/agent/src/main/config/josso/portal.war/WEB-INF/web.xml
===================================================================
--- jbossexo/modules/sso/trunk/agent/src/main/config/josso/portal.war/WEB-INF/web.xml (rev 0)
+++ jbossexo/modules/sso/trunk/agent/src/main/config/josso/portal.war/WEB-INF/web.xml 2009-11-16 07:11:36 UTC (rev 13834)
@@ -0,0 +1,308 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!--
+
+ 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.
+
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <display-name>portal</display-name>
+
+ <context-param>
+ <param-name>org.exoplatform.frameworks.jcr.command.web.fckeditor.digitalAssetsWorkspace</param-name>
+ <param-value>portal</param-value>
+ <description>Binary assets workspace name</description>
+ </context-param>
+
+ <context-param>
+ <param-name>org.exoplatform.frameworks.jcr.command.web.fckeditor.digitalAssetsPath</param-name>
+ <param-value>/</param-value>
+ <description>Binary assets path</description>
+ </context-param>
+
+ <!-- ================================================================== -->
+ <!-- RESOURCE FILTER TO CACHE MERGED JAVASCRIPT AND CSS -->
+ <!-- ================================================================== -->
+ <filter>
+ <filter-name>GenericFilter</filter-name>
+ <filter-class>org.exoplatform.web.filter.GenericFilter</filter-class>
+ </filter>
+ <filter>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <filter-class>org.exoplatform.portal.application.ResourceRequestFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>ThreadLocalSessionProviderInitializedFilter</filter-name>
+ <filter-class>org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>SetCurrentIdentityFilter</filter-name>
+ <filter-class>org.exoplatform.services.security.web.SetCurrentIdentityFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>RestEncodingFilter</filter-name>
+ <filter-class>org.exoplatform.services.rest.servlet.RestEncodingFilter</filter-class>
+ <init-param>
+ <param-name>REQUEST_ENCODING</param-name>
+ <param-value>UTF-8</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>CacheUserProfileFilter</filter-name>
+ <filter-class>org.exoplatform.web.CacheUserProfileFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>GenericFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.css</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.gif</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.png</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>*.jpg</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ResourceRequestFilter</filter-name>
+ <url-pattern>/javascript/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>SetCurrentIdentityFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>CacheUserProfileFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>RestEncodingFilter</filter-name>
+ <url-pattern>/rest/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>ThreadLocalSessionProviderInitializedFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <!-- ================================================================== -->
+ <!-- LISTENER -->
+ <!-- ================================================================== -->
+ <listener>
+ <listener-class>org.exoplatform.web.GenericHttpListener</listener-class>
+ </listener>
+ <listener>
+ <listener-class>org.exoplatform.portal.application.PortalSessionListener</listener-class>
+ </listener>
+ <listener>
+ <listener-class>org.exoplatform.services.security.web.JAASConversationStateListener</listener-class>
+ </listener>
+ <!-- ================================================================== -->
+ <!-- SERVLET -->
+ <!-- ================================================================== -->
+ <servlet>
+ <servlet-name>portal</servlet-name>
+ <servlet-class>org.exoplatform.portal.application.PortalController</servlet-class>
+ <init-param>
+ <param-name>webui.configuration</param-name>
+ <param-value>app:/WEB-INF/webui-configuration.xml</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RestServer</servlet-name>
+ <description>eXo - Platform REST Server</description>
+ <servlet-class>org.exoplatform.services.rest.servlet.RestServlet</servlet-class>
+ <load-on-startup>4</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>javascript</servlet-name>
+ <servlet-class>org.exoplatform.portal.webui.javascript.JavascriptServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>Controller</servlet-name>
+ <servlet-class>org.exoplatform.frameworks.jcr.web.CommandControllerServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <!-- SSO Integration -->
+ <!--
+ <servlet>
+ <servlet-name>PortalLoginController</servlet-name>
+ <servlet-class>org.exoplatform.web.login.PortalLoginController</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>InitiateLoginServlet</servlet-name>
+ <servlet-class>org.exoplatform.web.login.InitiateLoginServlet</servlet-class>
+ </servlet>
+ -->
+ <servlet>
+ <servlet-name>InitiateLoginServlet</servlet-name>
+ <servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>ErrorLoginServlet</servlet-name>
+ <servlet-class>org.exoplatform.web.login.ErrorLoginServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>GateInServlet</servlet-name>
+ <servlet-class>org.gatein.wci.api.GateInServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+
+ <!-- ================================================================= -->
+ <servlet-mapping>
+ <servlet-name>InitiateLoginServlet</servlet-name>
+ <url-pattern>/initiatelogin</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>ErrorLoginServlet</servlet-name>
+ <url-pattern>/errorlogin</url-pattern>
+ </servlet-mapping>
+
+ <!-- SSO Integration -->
+ <!--
+ <servlet-mapping>
+ <servlet-name>PortalLoginController</servlet-name>
+ <url-pattern>/login</url-pattern>
+ </servlet-mapping>
+ -->
+
+ <servlet-mapping>
+ <servlet-name>javascript</servlet-name>
+ <url-pattern>/javascript/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/private/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/public/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/admin/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/service</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>portal</servlet-name>
+ <url-pattern>/command/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RestServer</servlet-name>
+ <url-pattern>/rest/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>Controller</servlet-name>
+ <url-pattern>/connector</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>GateInServlet</servlet-name>
+ <url-pattern>/gateinservlet</url-pattern>
+ </servlet-mapping>
+
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <!-- The Welcome File List for IBM WebSphere -->
+
+ <welcome-file-list>
+ <welcome-file>/index.jsp</welcome-file>
+ </welcome-file-list>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>user authentication</web-resource-name>
+ <url-pattern>/private/*</url-pattern>
+ <http-method>POST</http-method>
+ <http-method>GET</http-method>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>users</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>admin authentication</web-resource-name>
+ <url-pattern>/admin/*</url-pattern>
+ <http-method>POST</http-method>
+ <http-method>GET</http-method>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>admin</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <login-config>
+ <auth-method>FORM</auth-method>
+ <realm-name>exo-domain</realm-name>
+ <form-login-config>
+ <form-login-page>/initiatelogin</form-login-page>
+ <form-error-page>/errorlogin</form-error-page>
+ </form-login-config>
+ </login-config>
+ <security-role>
+ <description>a simple user role</description>
+ <role-name>users</role-name>
+ </security-role>
+ <security-role>
+ <description>the admin role</description>
+ <role-name>admin</role-name>
+ </security-role>
+</web-app>
\ No newline at end of file
Added: jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java
===================================================================
--- jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java (rev 0)
+++ jbossexo/modules/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java 2009-11-16 07:11:36 UTC (rev 13834)
@@ -0,0 +1,79 @@
+/*
+ * 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.agent;
+
+import java.io.IOException;
+
+import org.apache.log4j.Logger;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.exoplatform.web.login.InitiateLoginServlet;
+import org.exoplatform.web.security.Credentials;
+
+/**
+ * @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ */
+public class GenericSSOAgent extends InitiateLoginServlet
+{
+ private static Logger log = Logger.getLogger(GenericSSOAgent.class);
+
+ public static final String COOKIE_NAME = "rememberme";
+ public static final String CREDENTIALS = "credentials";
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException
+ {
+ this.processSSOToken(req);
+
+ super.doGet(req, resp);
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException
+ {
+ this.doGet(req, resp);
+ }
+
+ private void processSSOToken(HttpServletRequest httpRequest)
+ {
+ String ticket = httpRequest.getParameter("ticket");
+ String jossoAssertion = httpRequest.getParameter("josso_assertion_id");
+
+ if (ticket != null && ticket.trim().length() > 0)
+ {
+ Credentials credentials = new Credentials("root", ticket);
+ httpRequest.getSession().setAttribute(InitiateLoginServlet.CREDENTIALS,
+ credentials);
+ }
+ else if (jossoAssertion != null && jossoAssertion.trim().length() > 0)
+ {
+ Credentials credentials = new Credentials("root", jossoAssertion);
+ httpRequest.getSession().setAttribute(InitiateLoginServlet.CREDENTIALS,
+ credentials);
+ }
+ }
+}
Modified: jbossexo/modules/sso/trunk/pom.xml
===================================================================
--- jbossexo/modules/sso/trunk/pom.xml 2009-11-16 05:30:12 UTC (rev 13833)
+++ jbossexo/modules/sso/trunk/pom.xml 2009-11-16 07:11:36 UTC (rev 13834)
@@ -54,9 +54,13 @@
<!-- exo -->
<org.exoplatform.core.version>2.3.0-Beta02</org.exoplatform.core.version>
<org.exoplatform.ws.version>2.1.0-Beta02</org.exoplatform.ws.version>
+ <org.exoplatform.portal.version>3.0.0-CR01-SNAPSHOT</org.exoplatform.portal.version>
<!-- JAX-RS jsr-311 -->
<version.javax.ws.rs>1.0</version.javax.ws.rs>
+
+ <!-- servlet-api -->
+ <version.servlet-api>2.5</version.servlet-api>
</properties>
<dependencyManagement>
@@ -142,7 +146,19 @@
<groupId>org.exoplatform.core</groupId>
<artifactId>exo.core.component.security.core</artifactId>
<version>${org.exoplatform.core.version}</version>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.portal</groupId>
+ <artifactId>exo.portal.component.web</artifactId>
+ <version>${org.exoplatform.portal.version}</version>
+ </dependency>
+
+ <!-- servlet-api -->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>${version.servlet-api}</version>
+ </dependency>
</dependencies>
</dependencyManagement>