Author: owulff
Date: Wed Mar 6 18:52:54 2013
New Revision: 1453480
URL: http://svn.apache.org/r1453480
Log:
Login token made available in FederationPrincipal
Modified:
cxf/fediz/trunk/examples/pom.xml
cxf/fediz/trunk/examples/simpleWebapp/pom.xml
cxf/fediz/trunk/examples/simpleWebapp/src/main/webapp/WEB-INF/web.xml
cxf/fediz/trunk/examples/springPreauthWebapp/pom.xml
cxf/fediz/trunk/examples/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
cxf/fediz/trunk/examples/springWebapp/pom.xml
cxf/fediz/trunk/examples/springWebapp/src/main/webapp/WEB-INF/web.xml
cxf/fediz/trunk/plugins/core/src/main/java/org/apache/cxf/fediz/core/FederationPrincipal.java
cxf/fediz/trunk/plugins/cxf/pom.xml
cxf/fediz/trunk/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/web/FederationFilter.java
cxf/fediz/trunk/plugins/jetty/pom.xml
cxf/fediz/trunk/plugins/jetty/src/main/java/org/apache/cxf/fediz/jetty/FederationUserPrincipal.java
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationAuthenticator.java
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationPrincipalImpl.java
cxf/fediz/trunk/systests/simpleWebapp/pom.xml
cxf/fediz/trunk/systests/simpleWebapp/src/main/webapp/WEB-INF/web.xml
cxf/fediz/trunk/systests/springPreauthWebapp/pom.xml
cxf/fediz/trunk/systests/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
Modified: cxf/fediz/trunk/examples/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/examples/pom.xml (original)
+++ cxf/fediz/trunk/examples/pom.xml Wed Mar 6 18:52:54 2013
@@ -33,6 +33,7 @@
<modules>
<module>simpleWebapp</module>
<module>wsclientWebapp</module>
+ <module>springWebapp</module>
<module>springPreauthWebapp</module>
</modules>
</project>
Modified: cxf/fediz/trunk/examples/simpleWebapp/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/simpleWebapp/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/examples/simpleWebapp/pom.xml (original)
+++ cxf/fediz/trunk/examples/simpleWebapp/pom.xml Wed Mar 6 18:52:54 2013
@@ -52,13 +52,7 @@
<dependency>
<groupId>org.apache.cxf.fediz</groupId>
<artifactId>fediz-cxf</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Modified: cxf/fediz/trunk/examples/simpleWebapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/simpleWebapp/src/main/webapp/WEB-INF/web.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/examples/simpleWebapp/src/main/webapp/WEB-INF/web.xml
(original)
+++ cxf/fediz/trunk/examples/simpleWebapp/src/main/webapp/WEB-INF/web.xml Wed
Mar 6 18:52:54 2013
@@ -10,17 +10,11 @@
<filter>
<filter-name>FederationFilter</filter-name>
<filter-class>org.apache.cxf.fediz.cxf.web.FederationFilter</filter-class>
- <!--
- <init-param>
- <param-name>security.token.attribute</param-name>
-
<param-value>org.apache.fediz.SECURITY_TOKEN</param-value>
- </init-param>
- -->
</filter>
<filter-mapping>
<filter-name>FederationFilter</filter-name>
- <url-pattern>/*</url-pattern>
+ <url-pattern>/secure/*</url-pattern>
</filter-mapping>
<servlet>
Modified: cxf/fediz/trunk/examples/springPreauthWebapp/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/springPreauthWebapp/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/examples/springPreauthWebapp/pom.xml (original)
+++ cxf/fediz/trunk/examples/springPreauthWebapp/pom.xml Wed Mar 6 18:52:54
2013
@@ -55,13 +55,7 @@
<dependency>
<groupId>org.apache.cxf.fediz</groupId>
<artifactId>fediz-cxf</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf.fediz</groupId>
Modified:
cxf/fediz/trunk/examples/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/examples/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
(original)
+++
cxf/fediz/trunk/examples/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
Wed Mar 6 18:52:54 2013
@@ -30,12 +30,6 @@
<filter>
<filter-name>FederationFilter</filter-name>
<filter-class>org.apache.cxf.fediz.cxf.web.FederationFilter</filter-class>
- <!--
- <init-param>
- <param-name>security.token.attribute</param-name>
-
<param-value>org.apache.fediz.SECURITY_TOKEN</param-value>
- </init-param>
- -->
</filter>
<filter-mapping>
Modified: cxf/fediz/trunk/examples/springWebapp/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/springWebapp/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/examples/springWebapp/pom.xml (original)
+++ cxf/fediz/trunk/examples/springWebapp/pom.xml Wed Mar 6 18:52:54 2013
@@ -50,13 +50,7 @@
<dependency>
<groupId>org.apache.cxf.fediz</groupId>
<artifactId>fediz-cxf</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
Modified: cxf/fediz/trunk/examples/springWebapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/springWebapp/src/main/webapp/WEB-INF/web.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/examples/springWebapp/src/main/webapp/WEB-INF/web.xml
(original)
+++ cxf/fediz/trunk/examples/springWebapp/src/main/webapp/WEB-INF/web.xml Wed
Mar 6 18:52:54 2013
@@ -12,11 +12,22 @@
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
+
+ <!-- Optional: Cache the security token in Thread Local Storage -->
+ <filter>
+ <filter-name>FederationFilter</filter-name>
+
<filter-class>org.apache.cxf.fediz.cxf.web.FederationFilter</filter-class>
+ </filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
+
+ <filter-mapping>
+ <filter-name>FederationFilter</filter-name>
+ <url-pattern>/secure/*</url-pattern>
+ </filter-mapping>
<!--
- Location of the XML file that defines the root application context
Modified:
cxf/fediz/trunk/plugins/core/src/main/java/org/apache/cxf/fediz/core/FederationPrincipal.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/core/src/main/java/org/apache/cxf/fediz/core/FederationPrincipal.java?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/core/src/main/java/org/apache/cxf/fediz/core/FederationPrincipal.java
(original)
+++
cxf/fediz/trunk/plugins/core/src/main/java/org/apache/cxf/fediz/core/FederationPrincipal.java
Wed Mar 6 18:52:54 2013
@@ -21,8 +21,12 @@ package org.apache.cxf.fediz.core;
import java.security.Principal;
+import org.w3c.dom.Element;
+
public interface FederationPrincipal extends Principal {
ClaimCollection getClaims();
+
+ Element getLoginToken();
}
Modified: cxf/fediz/trunk/plugins/cxf/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/cxf/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/plugins/cxf/pom.xml (original)
+++ cxf/fediz/trunk/plugins/cxf/pom.xml Wed Mar 6 18:52:54 2013
@@ -47,7 +47,8 @@
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
- <version>${cxf.version}</version>
+ <version>${cxf.version}</version>
+ <scope>provided</scope>
</dependency>
</dependencies>
<build>
Modified:
cxf/fediz/trunk/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/web/FederationFilter.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/web/FederationFilter.java?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/web/FederationFilter.java
(original)
+++
cxf/fediz/trunk/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/web/FederationFilter.java
Wed Mar 6 18:52:54 2013
@@ -20,6 +20,7 @@
package org.apache.cxf.fediz.cxf.web;
import java.io.IOException;
+import java.security.Principal;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -31,22 +32,17 @@ import javax.servlet.http.HttpServletReq
import org.w3c.dom.Element;
+import org.apache.cxf.fediz.core.FederationPrincipal;
+
+
+
/**
* Add security token to thread local
*/
public class FederationFilter implements Filter {
- private static final String DEFAULT_SECURITY_TOKEN_ATTR =
"org.apache.fediz.SECURITY_TOKEN";
- private static final String SECURITY_TOKEN_ATTR_CONFIG =
"security.token.attribute";
-
- private String securityTokenAttr = DEFAULT_SECURITY_TOKEN_ATTR;
-
@Override
public void init(FilterConfig filterConfig) throws ServletException {
- String attrName =
filterConfig.getInitParameter(SECURITY_TOKEN_ATTR_CONFIG);
- if (attrName != null) {
- securityTokenAttr = attrName;
- }
}
@Override
@@ -55,7 +51,9 @@ public class FederationFilter implements
if (request instanceof HttpServletRequest) {
HttpServletRequest hrequest = (HttpServletRequest)request;
- Element el =
(Element)hrequest.getSession().getAttribute(securityTokenAttr);
+ Principal p = hrequest.getUserPrincipal();
+ FederationPrincipal fedPrinc = (FederationPrincipal)p;
+ Element el = (Element)fedPrinc.getLoginToken();
if (el != null) {
try {
SecurityTokenThreadLocal.setToken(el);
Modified: cxf/fediz/trunk/plugins/jetty/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/jetty/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/plugins/jetty/pom.xml (original)
+++ cxf/fediz/trunk/plugins/jetty/pom.xml Wed Mar 6 18:52:54 2013
@@ -36,11 +36,13 @@
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
Modified:
cxf/fediz/trunk/plugins/jetty/src/main/java/org/apache/cxf/fediz/jetty/FederationUserPrincipal.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/jetty/src/main/java/org/apache/cxf/fediz/jetty/FederationUserPrincipal.java?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/jetty/src/main/java/org/apache/cxf/fediz/jetty/FederationUserPrincipal.java
(original)
+++
cxf/fediz/trunk/plugins/jetty/src/main/java/org/apache/cxf/fediz/jetty/FederationUserPrincipal.java
Wed Mar 6 18:52:54 2013
@@ -19,6 +19,8 @@
package org.apache.cxf.fediz.jetty;
+import org.w3c.dom.Element;
+
import org.apache.cxf.fediz.core.ClaimCollection;
import org.apache.cxf.fediz.core.FederationPrincipal;
import org.apache.cxf.fediz.core.FederationResponse;
@@ -50,6 +52,11 @@ public class FederationUserPrincipal imp
FederationResponse getFederationResponse() {
return response;
}
+
+ @Override
+ public Element getLoginToken() {
+ return response.getToken();
+ }
}
Modified:
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
(original)
+++
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
Wed Mar 6 18:52:54 2013
@@ -22,6 +22,10 @@ package org.apache.cxf.fediz.spring.auth
import java.io.Serializable;
import java.util.Collection;
+import org.w3c.dom.Element;
+
+import org.apache.cxf.fediz.core.ClaimCollection;
+import org.apache.cxf.fediz.core.FederationPrincipal;
import org.apache.cxf.fediz.core.FederationResponse;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.core.GrantedAuthority;
@@ -31,7 +35,8 @@ import org.springframework.security.core
/**
* Represents a successful WS-Federation based authentication.
*/
-public class FederationAuthenticationToken extends AbstractAuthenticationToken
implements Serializable {
+public class FederationAuthenticationToken extends AbstractAuthenticationToken
+ implements Serializable, FederationPrincipal {
private static final long serialVersionUID =
SpringSecurityCoreVersion.SERIAL_VERSION_UID;
@@ -83,4 +88,14 @@ public class FederationAuthenticationTok
return sb.toString();
}
+ @Override
+ public ClaimCollection getClaims() {
+ return new ClaimCollection(response.getClaims());
+ }
+
+ @Override
+ public Element getLoginToken() {
+ return response.getToken();
+ }
+
}
Modified:
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationAuthenticator.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationAuthenticator.java?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationAuthenticator.java
(original)
+++
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationAuthenticator.java
Wed Mar 6 18:52:54 2013
@@ -377,7 +377,7 @@ public class FederationAuthenticator ext
}
principal = new FederationPrincipalImpl(wfRes.getUsername(),
roles,
- wfRes.getClaims());
+ wfRes.getClaims(), wfRes.getToken());
}
} else {
LOG.error("Not supported action found in parameter wa: " + wa);
Modified:
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationPrincipalImpl.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationPrincipalImpl.java?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationPrincipalImpl.java
(original)
+++
cxf/fediz/trunk/plugins/tomcat/src/main/java/org/apache/cxf/fediz/tomcat/FederationPrincipalImpl.java
Wed Mar 6 18:52:54 2013
@@ -21,6 +21,8 @@ package org.apache.cxf.fediz.tomcat;
import java.util.List;
+import org.w3c.dom.Element;
+
import org.apache.catalina.realm.GenericPrincipal;
import org.apache.cxf.fediz.core.Claim;
import org.apache.cxf.fediz.core.ClaimCollection;
@@ -29,15 +31,22 @@ import org.apache.cxf.fediz.core.Federat
public class FederationPrincipalImpl extends GenericPrincipal implements
FederationPrincipal {
protected ClaimCollection claims;
+ protected Element loginToken;
public FederationPrincipalImpl(String username, List<String> roles,
- List<Claim> claims) {
+ List<Claim> claims, Element loginToken) {
super(username, null, roles);
this.claims = new ClaimCollection(claims);
+ this.loginToken = loginToken;
}
public ClaimCollection getClaims() {
return this.claims;
}
+ @Override
+ public Element getLoginToken() {
+ return loginToken;
+ }
+
}
Modified: cxf/fediz/trunk/systests/simpleWebapp/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/systests/simpleWebapp/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/systests/simpleWebapp/pom.xml (original)
+++ cxf/fediz/trunk/systests/simpleWebapp/pom.xml Wed Mar 6 18:52:54 2013
@@ -51,6 +51,11 @@
<artifactId>commons-lang3</artifactId>
<version>${commons.lang.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf.fediz</groupId>
+ <artifactId>fediz-cxf</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
<build>
<!-- Name of the generated WAR file -->
Modified: cxf/fediz/trunk/systests/simpleWebapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/systests/simpleWebapp/src/main/webapp/WEB-INF/web.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/systests/simpleWebapp/src/main/webapp/WEB-INF/web.xml
(original)
+++ cxf/fediz/trunk/systests/simpleWebapp/src/main/webapp/WEB-INF/web.xml Wed
Mar 6 18:52:54 2013
@@ -6,6 +6,17 @@
<description>WS Federation Systests Example</description>
<display-name>WS Federation Systests Example</display-name>
+ <!-- Optional: Cache the security token in Thread Local Storage -->
+ <filter>
+ <filter-name>FederationFilter</filter-name>
+
<filter-class>org.apache.cxf.fediz.cxf.web.FederationFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>FederationFilter</filter-name>
+ <url-pattern>/secure/*</url-pattern>
+ </filter-mapping>
+
<servlet>
<servlet-name>FederationServlet</servlet-name>
<servlet-class>org.apache.cxf.fediz.example.FederationServlet</servlet-class>
Modified: cxf/fediz/trunk/systests/springPreauthWebapp/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/systests/springPreauthWebapp/pom.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
--- cxf/fediz/trunk/systests/springPreauthWebapp/pom.xml (original)
+++ cxf/fediz/trunk/systests/springPreauthWebapp/pom.xml Wed Mar 6 18:52:54
2013
@@ -62,6 +62,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.cxf.fediz</groupId>
+ <artifactId>fediz-cxf</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0.1</version>
Modified:
cxf/fediz/trunk/systests/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/systests/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml?rev=1453480&r1=1453479&r2=1453480&view=diff
==============================================================================
---
cxf/fediz/trunk/systests/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
(original)
+++
cxf/fediz/trunk/systests/springPreauthWebapp/src/main/webapp/WEB-INF/web.xml
Wed Mar 6 18:52:54 2013
@@ -25,11 +25,22 @@
<filter-name>filterChainProxy</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
+
+ <!-- Optional: Cache the security token in Thread Local Storage -->
+ <filter>
+ <filter-name>FederationFilter</filter-name>
+
<filter-class>org.apache.cxf.fediz.cxf.web.FederationFilter</filter-class>
+ </filter>
<filter-mapping>
<filter-name>filterChainProxy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
+
+ <filter-mapping>
+ <filter-name>FederationFilter</filter-name>
+ <url-pattern>/secure/*</url-pattern>
+ </filter-mapping>
<!--
- Loads the root application context of this web app at startup.