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