blob: 97777eea407b4d1c4e3dad21438c3655273799ef [file] [log] [blame]
Building Apache CXF Fediz
=========================
Initial Setup
-------------
1) Install J2SE 6 or 7 SDK, which can be downloaded from
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2) Make sure that your JAVA_HOME environment variable is set to the newly installed
JDK location, and that your PATH includes %JAVA_HOME%\bin (Windows) or
$JAVA_HOME$/bin (*nix).
3) Install Maven 2.2.1 or newer, which can be downloaded from
http://maven.apache.org/download.html. Make sure that your PATH includes
the MVN_HOME/bin directory.
Building
--------
1) Change to the top level directory of Apache CXF Fediz source distribution.
2) Run
$> mvn clean install
This will compile Apache CXF Fediz and run all of the tests in the Apache CXF Fediz source
distribution. Alternatively, you can run
$> mvn -Pfastinstall.
This will compile Apache CXF Fediz without running the tests and takes less
time to build.
Depending on the load of remote Maven repositories, you may have
to run "mvn" multiple times until the required dependencies are
all located in your local Maven repository. It usually takes some time for
Maven to download required dependencies in the first build.
Source Directory structure
--------------------------
+ plugins contains the sources of the Federation plugin
+ core the core module contains the majority of functionality which is Servlet container agnostic
+ tomcat the Tomcat module is the bridge of the core to the
Tomcat specific security engine (container managed)
+ jetty the Jetty module is the bridge of the core to the
Jetty specific security engine (container managed)
+ spring the Spring module is the brige of the core to the
Spring Security 3 specific security engine (application managed)
+ spring2 the Spring2 module is the bridge of the core to the
Spring Security 2 specific security engine (application managed)
+ websphere the IBM Websphere module is the bridge of the core to the
IBM Websphere specific security engine (container managed)
+ services contains the sources of the Identity Provider
+ sts the STS module contains the configured CXF STS which supports the Federation use cases
+ idp the IDP module is the bridge of the STS to a WS-Trust/SOAP unaware browser
+ examples
+ simpleWebapp this example shows how to protect a simple web application using
the Fediz plugin which is configured on the container level
+ springPreAuthWebapp this example shows how to protect a simple web application using
the Fediz plugin which is configured at the container level
and creates the spring security context to use spring security features
for authorization like annotations, spring security configuration, etc.
+ springWebapp this example shows how to protect a simple web application using
the Fediz plugin which is configured within the application in
the Spring Security 3 configuration
+ spring2Webapp this example shows how to protect a simple web application using
the Fediz plugin which is configured within the application in
the Spring Security 2 configuration
+ wsclientWebapp this example shows how a protected web application calls a web service protected by the STS
+ webapp contains the web application
+ webservice contains the web services implementation