You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2012/09/25 13:04:17 UTC
svn commit: r1389794 -
/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
Author: coheigea
Date: Tue Sep 25 11:04:17 2012
New Revision: 1389794
URL: http://svn.apache.org/viewvc?rev=1389794&view=rev
Log:
Merged revisions 1389788 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1389788 | coheigea | 2012-09-25 11:52:36 +0100 (Tue, 25 Sep 2012) | 2 lines
Updating WSS4JInInterceptor to use LoginSecurityContext
........
Modified:
cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java?rev=1389794&r1=1389793&r2=1389794&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java (original)
+++ cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java Tue Sep 25 11:04:17 2012
@@ -23,13 +23,16 @@ import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.security.auth.Subject;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
@@ -52,12 +55,14 @@ import org.apache.cxf.binding.soap.saaj.
import org.apache.cxf.common.classloader.ClassLoaderUtils;
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.security.SimplePrincipal;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.Phase;
import org.apache.cxf.phase.PhaseInterceptor;
+import org.apache.cxf.security.LoginSecurityContext;
import org.apache.cxf.security.SecurityContext;
import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.staxutils.StaxUtils;
@@ -532,8 +537,18 @@ public class WSS4JInInterceptor extends
return createSecurityContext(p, null);
}
- protected SecurityContext createSecurityContext(final Principal p, final List<String> roles) {
- return new SecurityContext() {
+ protected LoginSecurityContext createSecurityContext(final Principal p, final List<String> roles) {
+ final Set<Principal> userRoles;
+ if (roles != null) {
+ userRoles = new HashSet<Principal>();
+ for (String role : roles) {
+ userRoles.add(new SimplePrincipal(role));
+ }
+ } else {
+ userRoles = null;
+ }
+
+ return new LoginSecurityContext() {
public Principal getUserPrincipal() {
return p;
}
@@ -543,6 +558,12 @@ public class WSS4JInInterceptor extends
}
return roles.contains(role);
}
+ public Subject getSubject() {
+ return null;
+ }
+ public Set<Principal> getUserRoles() {
+ return userRoles;
+ }
};
}