Author: woonsan
Date: Wed Dec 24 13:48:14 2014
New Revision: 1647784
URL: http://svn.apache.org/r1647784
Log:
APA-67: adding a subsection to explain how to extend the default reverse proxy
services
Modified:
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml
Modified:
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml
URL:
http://svn.apache.org/viewvc/portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml?rev=1647784&r1=1647783&r2=1647784&view=diff
==============================================================================
---
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml
(original)
+++
portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml
Wed Dec 24 13:48:14 2014
@@ -51,6 +51,10 @@
</dependency>
]]></source>
</p>
+ <p>
+ For more information on developing/testing,
+ see <a
href="https://svn.apache.org/repos/asf/portals/applications/webcontent/trunk/README"
target="_blank">README</a> file.
+ </p>
</subsection>
<subsection name="SimpleReverseProxyServlet">
@@ -332,6 +336,28 @@ contentRewriters:
</p>
</subsection>
+ <subsection name="Extending the Default Reverse Proxy Service">
+ <p>
+ In order to maximize the extensibility, Reverse Proxy Module is
implemented with
+ the <a
href="http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern"
target="_blank">Chain of Responsibility pattern</a>
+ by using <a href="http://commons.apache.org/proper/commons-chain/"
target="_blank">Apache Commons Chains</a> module.
+ </p>
+ <p>
+ By default,
<code>org.apache.portals.applications.webcontent2.proxy.builder.DefaultProxyProcessingChainBuilder</code>
+ initializes and adds all the common commands to the internal reverse
proxy service component.
+ However, you can always modify the chains of the commands in your
extended servlet/filter/portlet classes.
+ </p>
+ <p>
+ For example, <a
href="https://svn.apache.org/repos/asf/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/sso/SSOReverseProxyServlet.java"
target="_blank">org.apache.jetspeed.portlets.sso.SSOReverseProxyServlet</a> in
j2-admin project
+ extends
<code>org.apache.portals.applications.webcontent2.proxy.servlet.SimpleReverseProxyServlet</code>
+ in order to replace the default
<code>org.apache.portals.applications.webcontent2.proxy.command.InitHttpRequestCommand</code>
+ by
<code>org.apache.jetspeed.portlets.sso.SSOInitHttpRequestCommand</code>.
+ Also, <code>SSOReverseProxyServlet</code> customizes the default
<code>HttpClientContextBuilder</code> by a custom one,
+ <code>JetspeedHttpClientContextBuilder</code>, in order to build
custom authentication states
+ based on the Jetspeed SSO Site credentials.
+ </p>
+ </subsection>
+
</section>
</body>