[gatein-commits] gatein SVN: r952 - in components/sso/trunk: agent/src/main/java/org/gatein/sso/agent/josso and 12 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Dec 6 12:47:33 EST 2009


Author: sohil.shah at jboss.com
Date: 2009-12-06 12:47:33 -0500 (Sun, 06 Dec 2009)
New Revision: 952

Added:
   components/sso/trunk/packaging/josso/src/main/config/gatein/
   components/sso/trunk/packaging/josso/src/main/config/gatein/gatein.ear/
   components/sso/trunk/packaging/josso/src/main/config/gatein/gatein.ear/META-INF/
   components/sso/trunk/packaging/josso/src/main/config/gatein/gatein.ear/META-INF/gatein-jboss-beans.xml
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/WEB-INF/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/WEB-INF/web.xml
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/portal/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/portal/webui/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/portal/webui/UILoginForm.gtmpl
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/login/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/login/jsp/
   components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/login/jsp/login.jsp
Modified:
   components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java
   components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/josso/JOSSOAgent.java
   components/sso/trunk/packaging/josso/pom.xml
Log:
josso integration

Modified: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java
===================================================================
--- components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java	2009-12-06 17:01:49 UTC (rev 951)
+++ components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/GenericSSOAgent.java	2009-12-06 17:47:33 UTC (rev 952)
@@ -32,6 +32,7 @@
 import org.exoplatform.web.login.InitiateLoginServlet;
 
 import org.gatein.sso.agent.cas.CASAgent;
+import org.gatein.sso.agent.josso.JOSSOAgent;
 import org.gatein.sso.agent.opensso.OpenSSOAgent;
 
 /**
@@ -91,6 +92,7 @@
 		else if (jossoAssertion != null && jossoAssertion.trim().length() > 0)
 		{
 			//TODO: fix the JOSSO Agent. This will need to the new client side JOSSO stack that can run on 5.1.0.GA
+			JOSSOAgent.getInstance(this.ssoServerUrl).validateTicket(httpRequest);
 		}
 		else
 		{

Modified: components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/josso/JOSSOAgent.java
===================================================================
--- components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/josso/JOSSOAgent.java	2009-12-06 17:01:49 UTC (rev 951)
+++ components/sso/trunk/agent/src/main/java/org/gatein/sso/agent/josso/JOSSOAgent.java	2009-12-06 17:47:33 UTC (rev 952)
@@ -23,6 +23,10 @@
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.log4j.Logger;
+
+import org.exoplatform.web.security.Credentials;
+import org.gatein.sso.agent.GenericSSOAgent;
 import org.josso.agent.SSOAgent;
 import org.josso.agent.Lookup;
 import org.josso.agent.SSOAgentRequest;
@@ -38,24 +42,40 @@
  */
 public class JOSSOAgent
 {
-	/*public static void test(HttpServletRequest httpRequest, String assertionId) throws Exception
+	private static Logger log = Logger.getLogger(Logger.class);
+	private static JOSSOAgent singleton;
+	
+	private String serverUrl = null;
+	
+	private JOSSOAgent(String serverUrl)
 	{
-		System.out.println("Starting simple josso assertion test case..........................");
+		this.serverUrl = serverUrl;
+	}
+	
+	public static JOSSOAgent getInstance(String serverUrl)
+	{
+		if(JOSSOAgent.singleton == null)
+		{
+			synchronized(JOSSOAgent.class)
+			{
+				if(JOSSOAgent.singleton == null)
+				{
+					JOSSOAgent.singleton = new JOSSOAgent(serverUrl);
+				}
+			}
+		}
+		return JOSSOAgent.singleton;
+	}
+	
+	public void validateTicket(HttpServletRequest httpRequest) throws Exception
+	{
+		String ticket = httpRequest.getParameter("josso_assertion_id");
+		log.info("Trying to validate the following Ticket: "+ticket);
 		
-		Lookup lookup = Lookup.getInstance();
-		lookup.init("josso-agent-config.xml");
+		//TODO: Use the JOSSO Client Library to validate the token and extract the subject that was authenticated
 		
-		SSOAgent agent = lookup.lookupSSOAgent();
-		
-		System.out.println("Agent: "+agent);
-		System.out.println("AssertionId: "+assertionId);
-		
-		SSOAgentRequest request = new GenericServletSSOAgentRequest(SSOAgentRequest.ACTION_RELAY,
-				null,
-				new GenericServletLocalSession(httpRequest.getSession()),
-				assertionId);
-		
-		SingleSignOnEntry result = agent.processRequest(request);
-		System.out.println("SSOEntry: "+result);
-	}*/
+		//Just do a hack login for now...to cutoff the infinite redirects
+		Credentials credentials = new Credentials("demo", "");
+		httpRequest.getSession().setAttribute(GenericSSOAgent.CREDENTIALS, credentials);
+	}
 }

Modified: components/sso/trunk/packaging/josso/pom.xml
===================================================================
--- components/sso/trunk/packaging/josso/pom.xml	2009-12-06 17:01:49 UTC (rev 951)
+++ components/sso/trunk/packaging/josso/pom.xml	2009-12-06 17:47:33 UTC (rev 952)
@@ -109,9 +109,11 @@
 		        					overwrite="true"/>	
 		        							        					
 		        					<!-- Deploy JOSSO Agent dependencies -->
+		        					<!--  
 		        					<copy file="${settings.localRepository}/opensso/openssoclientsdk/${version.opensso}/openssoclientsdk-${version.opensso}.jar" 
 		        					todir="${gatein.location}/deploy/gatein.ear/lib"
-		        					overwrite="true"/>	        							        										        							        					        		
+		        					overwrite="true"/>
+		        					-->	        							        										        							        					        		
 		        				</tasks>
 		        			</configuration>
 		        			<goals>

Added: components/sso/trunk/packaging/josso/src/main/config/gatein/gatein.ear/META-INF/gatein-jboss-beans.xml
===================================================================
--- components/sso/trunk/packaging/josso/src/main/config/gatein/gatein.ear/META-INF/gatein-jboss-beans.xml	                        (rev 0)
+++ components/sso/trunk/packaging/josso/src/main/config/gatein/gatein.ear/META-INF/gatein-jboss-beans.xml	2009-12-06 17:47:33 UTC (rev 952)
@@ -0,0 +1,29 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+  <application-policy xmlns="urn:jboss:security-beans:1.0" name="gatein-domain">
+    <!--
+    <authentication>
+      <login-module code="org.exoplatform.web.security.PortalLoginModule" flag="required">
+        <module-option name="portalContainerName">portal</module-option>
+        <module-option name="realmName">gatein-domain</module-option>
+      </login-module>
+      <login-module code="org.exoplatform.services.security.jaas.SharedStateLoginModule" flag="required">
+        <module-option name="portalContainerName">portal</module-option>
+        <module-option name="realmName">gatein-domain</module-option>
+      </login-module>
+      <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
+        <module-option name="portalContainerName">portal</module-option>
+        <module-option name="realmName">gatein-domain</module-option>
+      </login-module>
+    </authentication>
+    -->
+    <authentication>
+      <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required"></login-module>      
+      <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
+        <module-option name="portalContainerName">portal</module-option>
+        <module-option name="realmName">gatein-domain</module-option>
+      </login-module>
+    </authentication>
+  </application-policy>
+  
+</deployment> 

Added: components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/WEB-INF/web.xml
===================================================================
--- components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/WEB-INF/web.xml	                        (rev 0)
+++ components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/WEB-INF/web.xml	2009-12-06 17:47:33 UTC (rev 952)
@@ -0,0 +1,316 @@
+<?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>
+    <init-param>
+    	<param-name>ssoServerUrl</param-name>    	
+    	<param-value>http://localhost:8888/josso</param-value>    	
+    </init-param>
+    <init-param>
+    	<param-name>ssoCookieName</param-name>    	
+    	<param-value>josso_assertion_id</param-value> 
+    </init-param>         
+  </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>gatein-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: components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/portal/webui/UILoginForm.gtmpl
===================================================================
--- components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/portal/webui/UILoginForm.gtmpl	                        (rev 0)
+++ components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/groovy/portal/webui/UILoginForm.gtmpl	2009-12-06 17:47:33 UTC (rev 952)
@@ -0,0 +1,87 @@
+<%	
+	import org.exoplatform.web.application.JavascriptManager;
+	import javax.servlet.http.HttpSession;
+	def rcontext = _ctx.getRequestContext();
+	JavascriptManager jsmanager = rcontext.getJavascriptManager();
+	jsmanager.importJavascript('eXo.portal.UIPortalControl'); 
+	jsmanager.addCustomizedOnLoadScript('document.getElementById("UIPortalComponentLogin").username.focus();');
+	HttpSession session = rcontext.getRequest().getSession();
+	String requestPath = rcontext.getRequestContextPath() + "/private/" + rcontext.getPortalOwner();
+	session.setAttribute("initialURI", requestPath);
+%>
+<div class="UILoginForm">
+	<div class="LoginDecorator">
+		<div class="TopLeftLoginDecorator">
+			<div class="TopRightLoginDecorator">
+				<div class="TopCenterLoginDecorator">
+					<div class="SigninTitle"><%=_ctx.appRes("UILoginForm.label.Signin")%></div>
+				</div>
+			</div>
+		</div>
+		<div class="MiddleLeftLoginDecorator">
+			<div class="MiddleRightLoginDecorator">
+				<div class="LoginDecoratorBackground">
+					<div class="LoginDetailBox">
+						<% uiform.begin(); %>
+						<!--<form class="UIForm" id="$uicomponent.id" name="loginForm" action="<%= rcontext.getRequestContextPath() + "/login"%>" method="post" style="margin: 0px;">
+							<input type="hidden" name="<%= uiform.ACTION %>" value=""/>-->
+							<input type="hidden" name="uri" value="<%=session.getAttribute("initialURI"); %>"/>
+							<div class="VerticalLayout">							    
+								<table class="UIFormGrid">
+									<tr class="UserNameField">
+										<td class="FieldLabel"><%=_ctx.appRes("UILoginForm.label.UserName")%></td>
+										<td><% uiform.renderChild(0)%></td>
+									</tr>
+									<tr class="PasswordField" id="UIPortalLoginFormControl" onkeypress="eXo.portal.UIPortalControl.onEnterPress(event)">
+										<td class="FieldLabel"><%=_ctx.appRes("UILoginForm.label.password")%></td>
+										<td><% uiform.renderChild(1)%></td>
+									</tr> 								
+									<tr class="RememberField" onkeypress="eXo.portal.UIPortalControl.onEnterPress(event)">
+										<td class="FieldLabel"><% uiform.renderChild(2)%></td>
+										<td><%=_ctx.appRes("UILoginForm.label.RememberOnComputer")%></td>
+									</tr>
+								</table>								
+							<div class="ForgetPass"><a href="<%= uicomponent.event("ForgetPassword") %>"><%=_ctx.appRes("UILoginForm.label.forgot")%></a></div>
+							<div class="UIAction"> 
+								<table class="ActionContainer">
+									<tr>
+										<td>
+											<div onclick="login(this);" id="UIPortalLoginFormAction" class="ActionButton SimpleStyle">
+												<div class="ButtonLeft">
+													<div class="ButtonRight">
+														<div class="ButtonMiddle">
+															<a href="#"><%=_ctx.appRes("UILoginForm.label.Signin");%></a>
+														</div>
+											 		</div>
+												</div>
+											</div>								
+											<div onclick="<%=uicomponent.event("Close");%>" class="ActionButton SimpleStyle">
+												<div class="ButtonLeft">
+												 	<div class="ButtonRight">
+														<div class="ButtonMiddle">
+															<a href="javascript:void(0);"><%=_ctx.appRes("UILoginForm.label.Discard")%></a>
+														</div>
+												 	</div>
+												</div>
+											</div>								
+										</td>
+									</tr>
+								</table>
+							</div> 
+						</div>
+						<%uiform.end()%>						
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="BottomLeftLoginDecorator">
+			<div class="BottomRightLoginDecorator">
+				<div class="BottomCenterLoginDecorator"><span></span></div>
+			</div>
+		</div>
+	</div>
+</div>
+<script>
+	<%=uicomponent.event("Close");%>
+	window.location = 'http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhost:8080/portal/private/classic';			
+</script>

Added: components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/login/jsp/login.jsp
===================================================================
--- components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/login/jsp/login.jsp	                        (rev 0)
+++ components/sso/trunk/packaging/josso/src/main/config/gatein/portal.war/login/jsp/login.jsp	2009-12-06 17:47:33 UTC (rev 952)
@@ -0,0 +1,39 @@
+<%--
+
+    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.
+
+--%>
+
+<%@ page import="java.net.URLEncoder"%>
+<%@ page import="javax.servlet.http.Cookie"%>
+<%@ page import="org.exoplatform.container.PortalContainer"%>
+<%@ page import="org.exoplatform.services.resources.ResourceBundleService"%>
+<%@ page import="java.util.ResourceBundle"%>
+<%@ page import="org.exoplatform.web.login.InitiateLoginServlet"%>
+<%@ page language="java" %>
+<%@ page contentType="text/html; charset=utf-8" %>
+
+<html>
+	<head>
+		<script type="text/javascript">		    
+		   window.location = 'http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhost:8080/portal/private/classic';			
+		</script>
+	</head>
+	<body>
+	</body>
+</html>
\ No newline at end of file



More information about the gatein-commits mailing list