Author: woonsan
Date: Tue Sep 29 16:05:40 2009
New Revision: 820005

URL: http://svn.apache.org/viewvc?rev=820005&view=rev
Log:
JS2-1071: Adding documentation on SSOReverseProxyIFrame portlet.

Modified:
    
portals/site/jetspeed/jetspeed-2.2/jetspeed-guide-admin/src/site/xdoc/sso.xml

Modified: 
portals/site/jetspeed/jetspeed-2.2/jetspeed-guide-admin/src/site/xdoc/sso.xml
URL: 
http://svn.apache.org/viewvc/portals/site/jetspeed/jetspeed-2.2/jetspeed-guide-admin/src/site/xdoc/sso.xml?rev=820005&r1=820004&r2=820005&view=diff
==============================================================================
--- 
portals/site/jetspeed/jetspeed-2.2/jetspeed-guide-admin/src/site/xdoc/sso.xml 
(original)
+++ 
portals/site/jetspeed/jetspeed-2.2/jetspeed-guide-admin/src/site/xdoc/sso.xml 
Tue Sep 29 16:05:40 2009
@@ -1,54 +1,271 @@
 <?xml version="1.0"?>
-<!--
-       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.
--->
-<document>
-       <properties>
-               <title>SSO Administration Guide</title>
-               <subtitle>Guide to Administering Single Signon</subtitle>
-               <authors>
-                       <person name="David Sean Taylor" 
email="[email protected]" />
-                       <person name="Jody McAlister" 
email="[email protected]" />
-               </authors>
-       </properties>
-       <body>
-
-<section name="Jetspeed Single Signon">
-<p>Jetspeed-2 (J2) Single Sign-on (SSO) feature is a credential store 
implemented as a component. It uses J2 security implementation for storing 
credentials. A management portlet allows the editing of SSO sites and remote 
credentials. It supports Basic Authentication and Form Based authentication and 
supports cookies.</p>
-<p>The SSO Management feature enables you to create "single sign-on" access, a 
permission-based access to applications and underlying tools, which provides an 
added layer of security and administarative control of Jetspeed-2 content. SSO 
Management enables the Users of Groups (several Users initially defined in the 
Group Management tab) to sign-on a single time for jetspeed-2 portal and 
specified sites and databases.</p>
-</section>
-<section name="SSOProxy Portlet">
-<para>As the name indicates the SSOProxy portlet is the proxy between the 
portal and authenticated sites. In the preferences a user defines the 
destination page which might need authentication itself or has links to 
authenticated pages (inside or outside the portal).</para>
-<para>The SSOProxy Portlet authenticates all SSO sites for the user before it 
goes to the destination URL defined in the preferences. The SSOProxy keeps a 
cache of of the proxy client so that the authentication only takes place the 
first time.</para>
-<para/>
-</section>
-<section name="SSO Provider service">
-<para>The SSO Provider is a part of the jetspeed service framework and is 
available to any portlet and not just the SSOProxy Portlet. The component takes 
care of storing the sites and credentials and has an API to get content from a 
url.</para>
-<para/>
-</section>
-<section name="SSO Management">
-<para>The SSO management portlet helps to administer SSO credentials and 
assigning them to Portal Users.</para>
-<p>
-       <img src="images/sso-manage.png" />
-</p>
-<p>
-       The Portal Principal field may be populated by clicking on either the 
user icon or the group icon.  A pop up window will display to allow you to 
-       select your user or group.
-</p>
+  <!--
+    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
 
-</section>
-       </body>
+    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.
+  -->
+<document>
+  <properties>
+    <title>SSO Administration Guide</title>
+    <subtitle>Guide to Administering Single Sign-on</subtitle>
+    <authors>
+      <person name="David Sean Taylor" email="[email protected]" />
+      <person name="Jody McAlister" email="[email protected]" />
+    </authors>
+  </properties>
+  <body>
+    <section name="Jetspeed Single Sign On">
+      <p>Jetspeed-2 (J2) Single Sign-on (SSO) feature is a
+        credential store implemented as a component. It uses J2 security
+        implementation for storing credentials. A management portlet
+        allows the editing of SSO sites and remote credentials. It
+        supports Basic Authentication and Form Based authentication and
+        supports cookies.</p>
+      <p>The SSO Management feature enables you to create "single
+        sign-on" access, a permission-based access to applications and
+        underlying tools, which provides an added layer of security and
+        administarative control of Jetspeed-2 content. SSO Management
+        enables the Users of Groups (several Users initially defined in
+        the Group Management tab) to sign-on a single time for
+        jetspeed-2 portal and specified sites and databases.</p>
+    </section>
+    <section name="SSOProxy Portlet">
+      <para>As the name indicates the SSOProxy portlet is the proxy
+        between the portal and authenticated sites. In the preferences a
+        user defines the destination page which might need
+        authentication itself or has links to authenticated pages
+        (inside or outside the portal).</para>
+      <para>The SSOProxy Portlet authenticates all SSO sites for the
+        user before it goes to the destination URL defined in the
+        preferences. The SSOProxy keeps a cache of of the proxy client
+        so that the authentication only takes place the first time.
+      </para>
+      <para />
+    </section>
+    <section name="SSOReverseProxyIFrame Portlet">
+      <p>
+        The SSOReverseProxyIFrame portlet leverages the Reverse Proxy Service 
component
+        of <a href="http://portals.apache.org/applications/webcontent/";>Apache 
Portals Web Content Appplication</a>.
+        This portlet provides Single Sign-on site and credentials of the user
+        to the Reverse Proxy Service component based on the navigated URLs.
+        The Reverse Proxy Service component authenticates the site for the
+        user automatically if the site is registered as a Single Sign-on site
+        for the user in the Jetspeed-2 Single Sign-on credential store.
+      </p>
+      <p>
+        For example, if the following preferences are set,
+        <br/>
+        <table>
+          <tr>
+            <th>Preference Name</th>
+            <th>Preference Value</th>
+          </tr>
+          <tr>
+            <td>SRC</td>
+            <td>http://localhost:8080/manager/list</td>
+          </tr>
+          <tr>
+            <td>PROXYREMOTEURL</td>
+            <td>http://localhost:8080/</td>
+          </tr>
+          <tr>
+            <td>PROXYLOCALPATH</td>
+            <td>${contextPath}/rproxy/localhost/</td>
+          </tr>
+        </table>
+        <br/>
+        then the portlet tries to retrieve the registered SSO sites and SSO 
remote users information
+        of the user by the SRC URL, 'http://localhost:8080/manager/list'.
+      </p>
+      <p>
+        If the user has the following SSO sites and SSO remote users 
information,
+        <br/>
+        <table>
+          <tr>
+            <th>Site Name</th>
+            <th>Site URL</th>
+            <th>Site Realm</th>
+            <th>Remote Principal</th>
+            <th>Remote Credential</th>
+          </tr>
+          <tr>
+            <td>Tomcat Management</td>
+            <td>http://localhost:8080/manager/</td>
+            <td>Tomcat Manager Application</td>
+            <td>tomcat</td>
+            <td>tomcat</td>
+          </tr>
+        </table>
+        <br/>
+        then the Reverse Proxy Service component can retrieve the above 
information from the portlet
+        and it would try to authenticate by the provided credentials.
+      </p>
+      <p>
+        If there are multiple SSO sites which have similar URLs, then best 
URL-matched SSO sites and credentials 
+        would be chosen for authentication.
+        For example, when the user has the following SSO sites and credentials 
registered,
+        <br/>
+        <table>
+          <tr>
+            <th>No.</th>
+            <th>Site Name</th>
+            <th>Site URL</th>
+            <th>Site Realm</th>
+            <th>Remote Principal</th>
+            <th>Remote Credential</th>
+            <th>User Form Field</th>
+            <th>Password Form Field</th>
+          </tr>
+          <tr>
+            <td>1</td>
+            <td>My Root Website</td>
+            <td>http://localhost:8080/</td>
+            <td></td>
+            <td>user</td>
+            <td>user</td>
+            <td></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td>2</td>
+            <td>My Basic Auth Website</td>
+            <td>http://localhost:8080/basic/</td>
+            <td>ExampleBasicAuthJSP</td>
+            <td>basic</td>
+            <td>basic</td>
+            <td></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td>3</td>
+            <td>My Form Auth Website</td>
+            <td>http://localhost:8080/form/</td>
+            <td></td>
+            <td>form</td>
+            <td>form</td>
+            <td>user</td>
+            <td>pass</td>
+          </tr>
+        </table>
+        <br/>
+        then the Reverse Proxy Service component will be provided best-matched 
SSO sites and credentials information
+        like the following examples:
+        <br/>
+        <table>
+          <tr>
+            <th>Requested URL</th>
+            <th>No.</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/</td>
+            <td>1</td>
+            <td>
+              This requested URL is matched to the first SSO site URL only.
+            </td>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/index.html</td>
+            <td>1</td>
+            <td>
+              This requested URL starts with the first SSO site URL 
+              and is matched to the first SSO site URL only.
+            </td>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/somewhere/index.html</td>
+            <td>1</td>
+            <td>
+              This requested URL starts with the first SSO site URL 
+              and is matched to the first SSO site URL only.
+            </td>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/basic/</td>
+            <td>2, 1</td>
+            <td>
+              This requested URL starts with the first and the second SSO site 
URLs.
+              Because the second one is more well-matched, the second SSO site 
and credentials
+              information would be used first for authentication.
+            </td>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/basic/index.html</td>
+            <td>2, 1</td>
+            <td>
+              This requested URL starts with the first and the second SSO site 
URLs.
+              Because the second one is more well-matched, the second SSO site 
and credentials
+              information would be used first for authentication.
+            </td>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/form/</td>
+            <td>3</td>
+            <td>
+              This requested URL starts with the first and the third SSO site 
URLs.
+              The third one is more well-matched.
+              However, unlike the basic authentication examples, the first one 
will never be used
+              because the best-matched SSO site is configured to use 
form-based authentication.
+              When the best-matched SSO site is configured to use form-based 
authentication,
+              the Reverse Proxy Service component would use it only for 
authentication.
+              <br/>
+              The Reverse Proxy Service component would post username form 
field and password form field
+              with the specified form field names
+              only when the requested URL is equals to the URL of the SSO site.
+              <em>If the requested URL is changed by user's navigation in the 
IFrame, then it would not try posting the 
+              username and password form fields again.</em>
+            </td>
+          </tr>
+          <tr>
+            <td>http://localhost:8080/form/index.html</td>
+            <td>3</td>
+            <td>
+              This requested URL starts with the first and the third SSO site 
URLs.
+              The third one is more well-matched.
+              However, unlike the basic authentication examples, the first one 
will never be used
+              because the best-matched SSO site is configured to use 
form-based authentication.
+              When the best-matched SSO site is configured to use form-based 
authentication,
+              the Reverse Proxy Service component would use it only for 
authentication.
+              <br/>
+              The Reverse Proxy Service component would post username form 
field and password form field
+              with the specified form field names
+              only when the requested URL is equals to the URL of the SSO 
site. 
+              <em>If the requested URL is changed by user's navigation in the 
IFrame, then it would not try posting the 
+              username and password form fields again.</em>
+            </td>
+          </tr>
+        </table>
+      </p>
+    </section>
+    <section name="SSO Provider service">
+      <para>The SSO Provider is a part of the jetspeed service
+        framework and is available to any portlet and not just the
+        SSOProxy Portlet. The component takes care of storing the sites
+        and credentials and has an API to get content from a url.</para>
+      <para />
+    </section>
+    <section name="SSO Management">
+      <para>The SSO management portlet helps to administer SSO
+        credentials and assigning them to Portal Users.</para>
+      <p>
+        <img src="images/sso-manage.png" />
+      </p>
+      <p>
+        The Portal Principal field may be populated by clicking on either the
+        user icon or the group icon. A pop up window will display to
+        allow you to
+        select your user or group.
+      </p>
+    </section>
+  </body>
 </document>
\ No newline at end of file


Reply via email to