portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From woon...@apache.org
Subject svn commit: r823599 - in /portals/jetspeed-2/applications/j2-admin/trunk/src/main: java/org/apache/jetspeed/portlets/security/sso/ java/org/apache/jetspeed/portlets/sso/ resources/org/apache/jetspeed/portlets/security/resources/ webapp/WEB-INF/ webapp/...
Date Fri, 09 Oct 2009 15:55:14 GMT
Author: woonsan
Date: Fri Oct  9 15:55:13 2009
New Revision: 823599

URL: http://svn.apache.org/viewvc?rev=823599&view=rev
Log:
JS2-1071: Adding sso user account information management portlet

Added:
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
  (with props)
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
  (with props)
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm
  (with props)
Modified:
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyIFramePortlet.java
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/portlet.xml

Added: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java?rev=823599&view=auto
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
(added)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
Fri Oct  9 15:55:13 2009
@@ -0,0 +1,304 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.jetspeed.portlets.security.sso;
+
+import java.io.IOException;
+import java.security.AccessController;
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletMode;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.security.auth.Subject;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.jetspeed.CommonPortletServices;
+import org.apache.jetspeed.security.JSSubject;
+import org.apache.jetspeed.security.SecurityException;
+import org.apache.jetspeed.security.User;
+import org.apache.jetspeed.security.UserManager;
+import org.apache.jetspeed.sso.SSOException;
+import org.apache.jetspeed.sso.SSOManager;
+import org.apache.jetspeed.sso.SSOSite;
+import org.apache.jetspeed.sso.SSOUser;
+import org.apache.portals.applications.gems.browser.BrowserIterator;
+import org.apache.portals.applications.gems.browser.BrowserPortlet;
+import org.apache.portals.applications.gems.browser.DatabaseBrowserIterator;
+import org.apache.portals.applications.gems.browser.StatusMessage;
+import org.apache.portals.messaging.PortletMessaging;
+import org.apache.velocity.context.Context;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * SSOChangePasswordPortlet
+ * 
+ * @version $Id$
+ */
+public class SSOChangePasswordPortlet extends BrowserPortlet
+{
+    
+    static final Logger logger = LoggerFactory.getLogger(SSOChangePasswordPortlet.class);
+    
+    private SSOManager sso;
+    private UserManager userManager;
+    
+    public void init(PortletConfig config)
+    throws PortletException 
+    {
+        super.init(config);
+        sso = (SSOManager)getPortletContext().getAttribute(CommonPortletServices.CPS_SSO_COMPONENT);
+        if (null == sso)
+        {
+            throw new PortletException("Failed to find the SSO Provider on portlet initialization");
+        }
+        userManager = (UserManager) getPortletContext().getAttribute(CommonPortletServices.CPS_USER_MANAGER_COMPONENT);
+        if (null == userManager)
+        {
+            throw new PortletException("Failed to find the User Manager on portlet initialization");
+        }
+    }
+       
+    
+    public void getRows(RenderRequest request, String sql, int windowSize)
+    throws Exception
+    {
+        List resultSetTitleList = new ArrayList();
+        List resultSetTypeList = new ArrayList();
+        try
+        {
+            Collection<SSOSite> sites = sso.getSites("");
+            
+            resultSetTypeList.add(String.valueOf(Types.VARCHAR));
+            resultSetTypeList.add(String.valueOf(Types.VARCHAR));
+            resultSetTitleList.add(0, "URL");
+            resultSetTitleList.add(1, "Site");
+
+            //subPopulate(rundata, qResult, repo, folder, null);
+            List list = new ArrayList();
+            if (sites != null){
+                for (SSOSite site : sites ){
+                	List row = new ArrayList(2);
+                    row.add(0, site.getURL());                     
+                    row.add(1, site.getName());
+                    list.add(row);
+                }
+            }
+            BrowserIterator iterator = new DatabaseBrowserIterator(
+                    list, resultSetTitleList, resultSetTypeList,
+                    windowSize);
+            setBrowserIterator(request, iterator);
+            iterator.sort("Site");
+        }
+        catch (Exception e)
+        {
+            logger.error("Exception in getRows: ", e);
+            throw e;
+        }        
+    }
+   
+    public void doView(RenderRequest request, RenderResponse response)
+    throws PortletException, IOException
+    {
+        String selectedSiteName = (String)PortletMessaging.receive(request, "SSOChangePassword",
"selectedName");
+        if (selectedSiteName != null)
+        {        
+            Context context = this.getContext(request);
+            context.put("currentName", selectedSiteName);  
+            context.put("currentUrl", (String)PortletMessaging.receive(request, "SSOChangePassword",
"selectedUrl"));
+            String ssoUsername = (String)PortletMessaging.receive(request, "SSOChangePassword",
"ssoUsername");
+            context.put("ssoUsername", ssoUsername);
+        }
+        StatusMessage msg = (StatusMessage)PortletMessaging.consume(request, "SSOChangePassword",
"status");
+        if (msg != null)
+        {
+            this.getContext(request).put("statusMsg", msg);            
+        }
+        
+        super.doView(request, response);
+    }
+    
+    protected void clearPortletMessages(PortletRequest request, PortletResponse response){
+    	PortletMessaging.cancel(request, "SSOChangePassword", "selectedName");
+        PortletMessaging.cancel(request, "SSOChangePassword", "selectedUrl");
+        PortletMessaging.cancel(request, "SSOChangePassword", "ssoUsername");
+    }
+    
+    protected void setPortletMessage(PortletRequest request, String key, String msg) throws
IOException{
+    	if (StringUtils.isNotEmpty(msg)){
+    		PortletMessaging.publish(request, "SSOChangePassword", key, msg);
+    	} else {
+    		PortletMessaging.cancel(request, "SSOChangePassword", key);	
+    	}
+    }
+    
+    public void processAction(ActionRequest request, ActionResponse response)
+    throws PortletException, IOException
+    {
+        if (request.getPortletMode() == PortletMode.VIEW)
+        {
+            String selectedSite = request.getParameter("ssoSite");
+            if (selectedSite != null)
+            {
+            	SSOSite site = sso.getSiteByName(selectedSite);
+                if (site != null)
+                {
+                    setPortletMessage(request, "selectedUrl", site.getURL());
+                    setPortletMessage(request, "selectedName", site.getName());
+                    setPortletMessage(request, "change", selectedSite);
+                    setPortletMessage(request, "ssoUsername", getRemoteUserName(request,
site));
+                }
+            }
+            String refresh = request.getParameter("sso.refresh");
+            String save = request.getParameter("sso.save");
+            String delete = request.getParameter("sso.delete");
+            
+            if (refresh != null)
+            {
+                this.clearBrowserIterator(request);
+            }
+            else if (delete != null)
+            {
+                String siteName = request.getParameter("site.name");
+                
+                if (!StringUtils.isEmpty(siteName))
+                {
+                    SSOSite site = sso.getSiteByName(siteName);
+                    
+                    if (site != null)
+                    {
+                        removeRemoteUser(request, site);
+                        this.clearBrowserIterator(request);
+                        clearPortletMessages(request,response);
+                    }
+                }
+            }
+            else if (save != null)
+            {
+                String siteName = request.getParameter("site.name");
+                String siteUrl = request.getParameter("site.url");
+                String ssoUsername = request.getParameter("ssoUsername");
+                String ssoPassword = request.getParameter("ssoPassword");
+                 
+                if (!StringUtils.isEmpty(siteName) && !StringUtils.isEmpty(siteUrl)
&& !StringUtils.isEmpty(ssoUsername) && !StringUtils.isEmpty(ssoPassword))
+                {
+                    SSOSite site = null;
+                    String old = (String)PortletMessaging.receive(request, "site", "selectedName");
+                    site = sso.getSiteByName(old != null ? old : siteName);
+                    
+                    addOrUpdateRemoteUser(request, site, ssoUsername, ssoPassword);
+                    
+                	this.clearBrowserIterator(request);
+                    PortletMessaging.publish(request, "SSOChangePassword", "selectedName",
siteName);
+                    PortletMessaging.publish(request, "SSOChangePassword", "selectedUrl",
siteUrl);    
+                    PortletMessaging.publish(request, "SSOChangePassword", "ssoUsername",
ssoUsername);
+                }
+            }   
+        }
+        
+        request.getPortletSession().removeAttribute("org.apache.jetspeed.portlets.sso.ssoSiteCredsOfSubject",
PortletSession.APPLICATION_SCOPE);
+        
+        super.processAction(request, response);
+            
+    }
+    
+    private String getRemoteUserName(PortletRequest request, SSOSite site)
+    {
+        String remoteUsername = null;
+        
+        try
+        {
+            Subject subject = JSSubject.getSubject(AccessController.getContext());
+            Collection<SSOUser> remoteUsers = sso.getRemoteUsers(site, subject);
+            
+            if (remoteUsers != null && !remoteUsers.isEmpty())
+            {
+                remoteUsername = remoteUsers.iterator().next().getName();
+            }
+        }
+        catch (SSOException e)
+        {
+            publishStatusMessage(request, "SSOChangePassword", "status", e, "Could not retrieve
sso user name");
+        }
+        
+        return remoteUsername;
+    }
+    
+    private void removeRemoteUser(PortletRequest request, SSOSite site)
+    {
+        try
+        {
+            Subject subject = JSSubject.getSubject(AccessController.getContext());
+            Collection<SSOUser> remoteUsers = sso.getRemoteUsers(site, subject);
+            
+            if (remoteUsers != null && !remoteUsers.isEmpty())
+            {
+                sso.removeUser(remoteUsers.iterator().next());
+            }
+        }
+        catch (SSOException e)
+        {
+            publishStatusMessage(request, "SSOChangePassword", "status", e, "Could not remove
sso user");
+        }
+    }
+    
+    private void addOrUpdateRemoteUser(PortletRequest request, SSOSite site, String username,
String password)
+    {
+        try
+        {
+            Subject subject = JSSubject.getSubject(AccessController.getContext());
+            Collection<SSOUser> remoteUsers = sso.getRemoteUsers(site, subject);
+            
+            if (remoteUsers != null && !remoteUsers.isEmpty())
+            {
+                SSOUser ssoUser = remoteUsers.iterator().next();
+                
+                if (!StringUtils.equals(ssoUser.getName(), username))
+                {
+                    ssoUser.setName(username);
+                    sso.updateUser(ssoUser);
+                }
+                
+                sso.setPassword(ssoUser, password);
+            }
+            else
+            {
+                User user = userManager.getUser(request.getUserPrincipal().getName());
+                sso.addUser(site, user, username, password);
+            }
+        }
+        catch (SSOException e)
+        {
+            publishStatusMessage(request, "SSOChangePassword", "status", e, "Could not remove
sso user");
+        }
+        catch (SecurityException e)
+        {
+            publishStatusMessage(request, "SSOChangePassword", "status", e, "Could not retrieve
jetspeed user");
+        }
+    }
+    
+}

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/security/sso/SSOChangePasswordPortlet.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyIFramePortlet.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyIFramePortlet.java?rev=823599&r1=823598&r2=823599&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyIFramePortlet.java
(original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyIFramePortlet.java
Fri Oct  9 15:55:13 2009
@@ -51,7 +51,7 @@
 public class SSOReverseProxyIFramePortlet extends IFrameGenericPortlet
 {
     
-    public static final String SUBJECT_SSO_SITE_CREDS = SSOReverseProxyIFramePortlet.class.getName()
+ ".ssoSiteCredsOfSubject";
+    public static final String SUBJECT_SSO_SITE_CREDS = "org.apache.jetspeed.portlets.sso.ssoSiteCredsOfSubject";
     
     private static Logger log = LoggerFactory.getLogger(SSOReverseProxyIFramePortlet.class);
     

Added: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties?rev=823599&view=auto
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
(added)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
Fri Oct  9 15:55:13 2009
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+#  Jetspeed Development Team
+
+# portlet info
+javax.portlet.title=SSO Change Passwords
+javax.portlet.short-title=SSO Change Passwords
+javax.portlet.keywords=admin,security,SSO,password
+
+refresh = Refresh
+delete = Delete
+save = Save
+
+confirmToDeleteRemote=Confirm to Delete Remote:
+confirmDelete=Confirm Delete
+
+sitename=Site Name:
+siteurl=Site URL:
+sso_username = SSO User name: 
+sso_password = SSO Password: 

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/security/resources/SSOChangePasswordResources.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/portlet.xml?rev=823599&r1=823598&r2=823599&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/portlet.xml (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/portlet.xml Fri
Oct  9 15:55:13 2009
@@ -136,7 +136,43 @@
       <keywords>security,user,password,admin,login</keywords>
     </portlet-info>
   </portlet>
-
+  
+  <portlet id="SSOChangePasswordPortlet">
+    <description>You can edit SSO Site Credentials.</description>
+    <description xml:lang="ja">SSO 現在ログイン中のユーザーパスワードを変更します。</description>
+    <description xml:lang="zh">SSO 更改当前登陆用户的密码。</description>
+    <description xml:lang="zh-TW">SSO 更改當前登陸用戶的密碼。</description>
+    <portlet-name>SSOChangePasswordPortlet</portlet-name>
+    <display-name>SSO Change Password</display-name>
+    <display-name xml:lang="ja">SSO パスワード変更</display-name>
+    <display-name xml:lang="zh">SSO 更改密码</display-name>
+    <display-name xml:lang="zh-TW">SSO 更改密碼</display-name>
+    <portlet-class>org.apache.jetspeed.portlets.security.sso.SSOChangePasswordPortlet</portlet-class>
+    <init-param>
+      <description>This parameter sets the template used in view
+        mode.</description>
+      <name>ViewPage</name>
+      <value>/WEB-INF/security/sso/sso-changepwd-view.vm</value>
+    </init-param>
+    <init-param>
+      <name>portlet-icon</name>
+      <value>application-certificate.png</value>
+    </init-param>
+    <expiration-cache>-1</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <resource-bundle>
+      org.apache.jetspeed.portlets.security.resources.SSOChangePasswordResources</resource-bundle>
+    <portlet-info>
+      <title>SSO Change Password</title>
+      <short-title>SSO Change Password</short-title>
+      <keywords>security,user,password,sso,admin,login</keywords>
+    </portlet-info>
+  </portlet>
+  
   <portlet id="SSOBrowserPortlet">
     <description>SSO Sites Browser displays a list of all configured
       SSO sites in the portal. From here you can select SSO Sites for

Added: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm?rev=823599&view=auto
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm
(added)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm
Fri Oct  9 15:55:13 2009
@@ -0,0 +1,105 @@
+#*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*#
+
+#**
+
+@version $Id$
+
+*#
+
+#set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
+
+#if ($statusMsg)
+#parse ('/WEB-INF/view/status-include.vm')
+#end
+
+<table cellpadding=0 cellspacing=1 border=0 width='100%' >
+  <tr>
+    <td width='12' class="portlet-section-header"></td>      
+    #set ($column = $title.get(1))
+	#set ($columnLink = $renderResponse.createRenderURL())
+	$columnLink.setParameter("js_dbcolumn",$column)
+    <td align='center' class="portlet-section-header" width="75%" nowrap>
+      $column
+    </td>
+    <td class=""></td>        
+  </tr>
+  #foreach ( $ssoItem in $table )
+  <tr>
+     #set ($ssoName = $ssoItem.get(1))
+     #set ($ssoUrl = $ssoItem.get(0))
+    #if ($velocityCount % 2 == 0)
+       #set($rowstyle = "portlet-section-body")
+    #else
+       #set($rowstyle = "portlet-section-alternate")
+    #end  
+
+   #if ($ssoName == $currentName)
+   <td class="$rowstyle" nowrap width='12'>
+     <img src="/j2-admin/images/selected.gif" />
+   </td>	 	
+   #else
+   <td class="$rowstyle" nowrap width='12'>
+     &nbsp;
+   </td>             
+   #end
+     
+      <td class="$rowstyle" nowrap width="40%">
+        #set ($action = $renderResponse.createActionURL())
+        $action.setParameter('ssoSite', $ssoName)
+        <div align="center"><a href='$action'>$ssoName</a></div>
+      </td>
+    <td class="">&nbsp;</td>               
+   </tr>
+  #end
+</table>
+<br/>
+<form name='ssoForm' action="$renderResponse.createActionURL()" method="post">
+<table>
+  <tr colspan="2" align="right">
+    <td nowrap class="portlet-section-alternate" align="right">$MESSAGES.getString('sitename')&nbsp;</td>
+    <td class="portlet-section-body" align="left">
+      $!currentName
+      <input type="hidden" name="site.name" value="$!currentName"/>
+    </td>
+  </tr>
+  <tr colspan="2" align="right">
+    <td nowrap class="portlet-section-alternate" align="right">$MESSAGES.getString('siteurl')&nbsp;</td>
+    <td class="portlet-section-body" align="left">
+      $!currentUrl
+      <input type="hidden" name="site.url" value="$!currentUrl"/>
+    </td>
+  </tr>
+  <tr colspan="2" align="right">
+    <td nowrap class="portlet-section-alternate" align="right">$MESSAGES.getString('sso_username')&nbsp;</td>
+    <td class="portlet-section-body" align="left">
+      <input type="text" name="ssoUsername" size="30" value="$!ssoUsername" class="portlet-form-field-label">
+    </td>
+  </tr>
+  <tr colspan="2" align="right">
+    <td nowrap class="portlet-section-alternate" align="right">$MESSAGES.getString('sso_password')&nbsp;</td>
+    <td class="portlet-section-body" align="left">
+      <input type="password" name="ssoPassword" size="30" class="portlet-form-field-label">
+    </td>
+  </tr>
+</table>
+<br/>
+<input name='sso.save' type="submit" value="$MESSAGES.getString('save')" class="portlet-form-button"/>
+<input name='sso.refresh' class="portlet-form-button" type="submit" value="$MESSAGES.getString('refresh')"
/>
+<input name='sso.delete' class="portlet-form-button" type="submit" value="$MESSAGES.getString('delete')"
/>
+</form>	      
+

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/security/sso/sso-changepwd-view.vm
------------------------------------------------------------------------------
    svn:keywords = Id



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message