Author: buildbot
Date: Thu Mar 7 12:48:05 2013
New Revision: 853472
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/main.pageCache
websites/production/cxf/content/fediz-spring.html
Modified: websites/production/cxf/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/fediz-spring.html
==============================================================================
--- websites/production/cxf/content/fediz-spring.html (original)
+++ websites/production/cxf/content/fediz-spring.html Thu Mar 7 12:48:05 2013
@@ -138,87 +138,35 @@ Apache CXF -- Fediz Spring
<div class="wiki-content">
<div id="ConfluenceContent"><h1><a shape="rect"
name="FedizSpring-SpringSecurityPlugin%281.1SNAPSHOT%29"></a>Spring Security
Plugin (1.1 SNAPSHOT)</h1>
-<p>This page describes how to enable Federation for a Spring Security based
Web Application. Spring Security provide more authorization capabilities than
defined in the Java Servlet specification. Beyond authorizing web requests
Spring Security supports authorizing whether methods can be invoked and
authorizing access to individual domain object instances. Further, Spring
Security supports two deployment options.</p>
+<p>This page describes how to enable Federation for a <a shape="rect"
class="external-link"
href="http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity.html"
rel="nofollow">Spring Security</a> based Web Application. Spring Security
provides more authorization capabilities than defined in the Java Servlet
specification. Beyond authorizing web requests Spring Security supports
authorizing whether methods can be invoked and authorizing access to individual
domain object instances. Further, Spring Security supports two deployment
options. On the one hand, authentication and authorization is enforced by the
underlying Servlet Container or on the other hand by Spring Security embedded
with the application. The former ensures that the application is only called if
authentication is successful. This can be controlled by an
administrator/operator. This option is called <a shape="rect"
class="external-link" href="http://static.springsource.org/spring-
security/site/docs/3.1.x/reference/preauth.html"
rel="nofollow">Pre-Authentication</a>. The latter gives all the control to the
application developer and removes the dependency to security configuration in
the Servlet Container. This simplifies deploying an application into different
Serlvet Container environments.</p>
+<p>Both options are valid and it mainly depends on the policies/requirements
within a company which is a better fit. Questions to be answered are: Who
should manage the security enforcement (Application developer, Administrator)?
Do you have to deploy the application into different Servlet Container
environments?</p>
-
-
-
-<p>This configuration is not for a separate Tomcat instance hosting the Fediz
IDP and IDP STS WARs, or hosts for third-party applications that use Fediz
STS-generated SAML assertions for authentication. After this configuration is
done, the Jetty-RP instance will validate the incoming SignInResponse created
by the IDP server.</p>
-
-<p>Prior to doing this configuration, make sure you've first deployed the
Fediz IDP and STS on the Tomcat IDP instance as discussed <a shape="rect"
href="fediz-idp.html" title="Fediz IDP">here</a>, and can view the STS WSDL at
the URL given on that page. That page also provides some tips for running
multiple Tomcat instances on your machine.</p>
-
+<p>Prior to doing this configuration, make sure you've first deployed the
Fediz IDP and STS on the Tomcat IDP instance as discussed <a shape="rect"
href="fediz-idp.html" title="Fediz IDP">here</a>, and can view the STS WSDL at
the URL given on that page.</p>
<h3><a shape="rect" name="FedizSpring-Installation"></a>Installation</h3>
-<p>You can either build the Fediz plugin on your own or download the package
<a shape="rect" href="fediz-downloads.html" title="Fediz Downloads">here</a>.
If you have built the plugin on your own you'll find the required libraries in
<tt>plugins/jetty/target/...zip-with-dependencies.zip</tt></p>
-
-<ol><li>Create sub-directory <tt>fediz</tt> in
<tt>${jetty.home}/lib/fediz</tt></li><li>Update start.ini in
${jetty.home}/start.ini by adding <tt>fediz</tt> to the OPTIONS
-<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
-<pre class="code-java">
-OPTIONS=Server,fediz
-</pre>
-</div></div></li><li>Deploy the libraries to the directory created in
(1)</li></ol>
-
-
-
-<h3><a shape="rect" name="FedizSpring-Configuration"></a>Configuration</h3>
+<p>You can either build the Fediz plugin on your own, download the package <a
shape="rect" href="fediz-downloads.html" title="Fediz Downloads">here</a> or
add the dependency to your Maven project. If you have built the plugin on your
own you'll find the required libraries in
<tt>plugins/spring/target/...zip-with-dependencies.zip</tt></p>
-<h5><a shape="rect" name="FedizSpring-HTTPSconfiguration"></a>HTTPS
configuration</h5>
+<p>It's recommended to use Maven to resolve all the dependencies as
illustrated in the two examples <em>springWebapp</em> and
<em>springPreAuthWebapp</em>. Each example contains a README with instructions
for building and deployment.</p>
-<p>It's recommended to set up a dedicated (separate) Jetty instance for the
Relying Party. The Fediz RP web applications use the following TCP ports:</p>
-<ul><li>HTTP port: 8080</li><li>HTTPS port: 8443 (where IDP and STS are
accessed)</li></ul>
-
-
-<p>These are the default ports for a standard Jetty installation.</p>
-
-<p>The Relying Party must be accessed over HTTPS to protect the security
tokens issued by the IDP.</p>
-
-<p>The Jetty HTTP(s) configuration is done in etc/jetty-ssl.xml.</p>
-
-<p>The configuration is described in detail <a shape="rect"
class="external-link" href="http://wiki.eclipse.org/Jetty/Howto/Configure_SSL"
rel="nofollow">here</a></p>
-
-<p>This page also describes how to create certificates. Sample Jetty
keystores (not for production use, but useful for demoing Fediz and running the
sample applications) are provided in the examples/samplekeys folder of the
Fediz distribution. Note the Jetty keystore here is different from the one
used to configure the Tomcat-IDP instance.</p>
-
-<p>To establish trust, there are significant keystore/truststore requirements
between the Servlet Container instances and the various web applications (IDP,
STS, Relying party applications, third party web services, etc.) See <a
shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/samplekeys/HowToGenerateKeysREADME.html?view=co">this
page</a> for more details, it lists the trust requirements as well as sample
scripts for creating your own (self-signed) keys.</p>
-
-<p><b>Warning: All sample keystores provided with Fediz (including in the WAR
files for its services and examples) are for development/prototyping use only.
They'll need to be replaced for production use, at a minimum with your own
self-signed keys but strongly recommended to use third-party signed
keys.</b></p>
-
-<p>If you are currently just trying to run the Fediz samples, the
configuration above is all you need (the below configuration is already
provided within the samples) so you can return now to the samples' READMEs for
the next steps in running them.</p>
+<h3><a shape="rect"
name="FedizSpring-ConfigureWebApplication%28PreAuthentication%29"></a>Configure
Web Application (Pre-Authentication)</h3>
+<p>The role of the Fediz Spring plugin in the case of Servlet Container
managed security is to adapt the security context of the Servlet Container to
the Spring Security Context. This allows to configure authorization for web
requests and method calls based on Spring Security.</p>
<h5><a shape="rect"
name="FedizSpring-FedizPluginconfigurationforYourWebApplication"></a>Fediz
Plugin configuration for Your Web Application</h5>
<p>The Fediz related configuration is done in a Servlet Container independent
configuration file which is described <a shape="rect"
href="fediz-configuration.html" title="Fediz Configuration">here</a>.</p>
-<p>The Fediz plugin requires configuring the FederationAuthenticator like any
other authenticator in Jetty. Detailed information about the Authenticators and
SecurityHandler is available <a shape="rect" class="external-link"
href="http://wiki.eclipse.org/Jetty/Tutorial/Realms"
rel="nofollow">here</a>.</p>
-
-<p>The Fediz configuration file allows to configure all servlet contexts in
one file or choosing one file per Servlet Context.</p>
-<p>You can configure the context in context configuration file located in
<jetty.home>/contexts.</p>
-<h6><a shape="rect"
name="FedizSpring-fedizhelloworld.xml"></a>fedizhelloworld.xml</h6>
-<p>Hint: file name must be equal to war file name</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
<pre class="code-xml">
- <span class="code-tag"><Get name=<span
class="code-quote">"securityHandler"</span>></span>
- <span class="code-tag"><Set name=<span
class="code-quote">"loginService"</span>></span>
- <span class="code-tag"><New class=<span
class="code-quote">"org.apache.cxf.fediz.jetty.FederationLoginService"</span>></span>
- <span class="code-tag"><Set name=<span
class="code-quote">"name"</span>></span>WSFED<span
class="code-tag"></Set></span>
- <span class="code-tag"></New></span>
- <span class="code-tag"></Set></span>
- <span class="code-tag"><Set name=<span
class="code-quote">"authenticator"</span>></span>
- <span class="code-tag"><New class=<span
class="code-quote">"org.apache.cxf.fediz.jetty.FederationAuthenticator"</span>></span>
- <span class="code-tag"><Set name=<span
class="code-quote">"configFile"</span>></span><span
class="code-tag"><SystemProperty name=<span
class="code-quote">"jetty.home"</span> default=<span
class="code-quote">"."</span>/></span>/etc/fediz_config.xml<span
class="code-tag"></Set></span>
- <span class="code-tag"></New></span>
- <span class="code-tag"></Set></span>
- <span class="code-tag"></Get></span>
</pre>
</div></div>
-<p>The Fediz configuration file is a Servlet container independent
configuration file and described <a shape="rect"
href="fediz-configuration.html" title="Fediz Configuration">here</a></p>
<h3><a shape="rect" name="FedizSpring-WebApplicationdeployment"></a>Web
Application deployment</h3>