Initial Setup
-------------
-1) Install J2SE 6.0 SDK, which can be downloaded from
- http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
+1) Install J2SE 8 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 (unix).
+ 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
+3) Install Maven 3.0.x or newer, which can be downloaded from
http://maven.apache.org/download.html. Make sure that your PATH includes
the MVN_HOME/bin directory.
1) Change to the top level directory of Apache CXF Fediz source distribution.
2) Run
- $> mvn.
+ $> 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" several times utill 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.
+ 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
+ + 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
+ + tomcat the Tomcat module is the bridge of the core to the
+ Tomcat 8/9 specific security engine (container managed)
+ + jetty9 the Jetty 9 module is the bridge of the core to the
+ Jetty 9 specific security engine (container managed)
+ + cxf the CXF module is the bridge of the core to the
+ CXF specific security engine (application managed)
+ + spring the Spring module is the brige of the core to the
+ Spring Security 4 specific security engine (application managed)
+ + spring3 the Spring3 module is the bridge of the core to the
+ Spring Security 3 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 usecases for Federation
- + idp the idp module is the bridge of the STS to a WS-Trust/SOAP unaware browser
+ + 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
- + 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
-
+ + 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