You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@portals.apache.org by wo...@apache.org on 2014/12/24 14:48:14 UTC
svn commit: r1647784 -
/portals/site/applications/src/site/xdoc/webcontent2/reverse-proxy-module.xml
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>