You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by gi...@apache.org on 2012/03/15 21:42:16 UTC
svn commit: r1301188 - in /webservices/wss4j/branches/swssf:
streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/
streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/
Author: giger
Date: Thu Mar 15 20:42:16 2012
New Revision: 1301188
URL: http://svn.apache.org/viewvc?rev=1301188&view=rev
Log:
an IssuedToken is not a concrete token but can be a SamlToken, RelToken, etc. So handle it appropriate
Added:
webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java (with props)
Modified:
webservices/wss4j/branches/swssf/streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/IssuedTokenAssertionState.java
webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/RelTokenSecurityEvent.java
webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SamlTokenSecurityEvent.java
webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SecurityContextTokenSecurityEvent.java
Modified: webservices/wss4j/branches/swssf/streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/IssuedTokenAssertionState.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/IssuedTokenAssertionState.java?rev=1301188&r1=1301187&r2=1301188&view=diff
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/IssuedTokenAssertionState.java (original)
+++ webservices/wss4j/branches/swssf/streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/IssuedTokenAssertionState.java Thu Mar 15 20:42:16 2012
@@ -21,18 +21,20 @@ package org.swssf.policy.assertionStates
import org.apache.ws.secpolicy.WSSPolicyException;
import org.apache.ws.secpolicy.model.AbstractSecurityAssertion;
import org.apache.ws.secpolicy.model.AbstractToken;
-import org.swssf.wss.securityEvent.*;
+import org.apache.ws.secpolicy.model.IssuedToken;
+import org.swssf.wss.securityEvent.IssuedTokenSecurityEvent;
+import org.swssf.wss.securityEvent.SecurityEvent;
+import org.swssf.wss.securityEvent.TokenSecurityEvent;
/**
+ * WSP1.3, 5.4.2 IssuedToken Assertion
+ *
* @author $Author$
* @version $Revision$ $Date$
*/
public class IssuedTokenAssertionState extends TokenAssertionState {
- //todo RequestSecurityTokenTemplate
- //todo sowieso
-
public IssuedTokenAssertionState(AbstractSecurityAssertion assertion, boolean asserted) {
super(assertion, asserted);
}
@@ -48,13 +50,22 @@ public class IssuedTokenAssertionState e
@Override
public boolean assertToken(TokenSecurityEvent tokenSecurityEvent, AbstractToken abstractToken) throws WSSPolicyException {
- if (!(tokenSecurityEvent instanceof SamlTokenSecurityEvent)
- && !(tokenSecurityEvent instanceof SecurityContextTokenSecurityEvent)
- && !(tokenSecurityEvent instanceof RelTokenSecurityEvent)) {
+ if (!(tokenSecurityEvent instanceof IssuedTokenSecurityEvent)) {
throw new WSSPolicyException("Expected a IssuedTokenSecurityEvent but got " + tokenSecurityEvent.getClass().getName());
}
+
setAsserted(true);
- //todo
+
+ IssuedToken issuedToken = (IssuedToken) abstractToken;
+ IssuedTokenSecurityEvent issuedTokenSecurityEvent = (IssuedTokenSecurityEvent) tokenSecurityEvent;
+ if (issuedToken.getIssuerName() != null) {
+ if (!issuedToken.getIssuerName().equals(issuedTokenSecurityEvent.getIssuerName())) {
+ setAsserted(false);
+ setErrorMessage("IssuerName in Policy (" + issuedToken.getIssuerName() + ") didn't match with the one in the IssuedToken (" + issuedTokenSecurityEvent.getIssuerName() + ")");
+ }
+ }
+ //todo internal/external reference?
+
return isAsserted();
}
}
Added: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java?rev=1301188&view=auto
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java (added)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java Thu Mar 15 20:42:16 2012
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.swssf.wss.securityEvent;
+
+/**
+ * @author $Author$
+ * @version $Revision$ $Date$
+ */
+public abstract class IssuedTokenSecurityEvent extends TokenSecurityEvent {
+ public IssuedTokenSecurityEvent(Event securityEventType) {
+ super(securityEventType);
+ }
+
+ public abstract String getIssuerName();
+}
Propchange: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/IssuedTokenSecurityEvent.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/RelTokenSecurityEvent.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/RelTokenSecurityEvent.java?rev=1301188&r1=1301187&r2=1301188&view=diff
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/RelTokenSecurityEvent.java (original)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/RelTokenSecurityEvent.java Thu Mar 15 20:42:16 2012
@@ -22,11 +22,21 @@ package org.swssf.wss.securityEvent;
* @author $Author$
* @version $Revision$ $Date$
*/
-public class RelTokenSecurityEvent extends TokenSecurityEvent {
+public class RelTokenSecurityEvent extends IssuedTokenSecurityEvent {
//todo implement
+ private String issuerName;
public RelTokenSecurityEvent() {
super(Event.RelToken);
}
+
+ @Override
+ public String getIssuerName() {
+ return issuerName;
+ }
+
+ public void setIssuerName(String issuerName) {
+ this.issuerName = issuerName;
+ }
}
Modified: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SamlTokenSecurityEvent.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SamlTokenSecurityEvent.java?rev=1301188&r1=1301187&r2=1301188&view=diff
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SamlTokenSecurityEvent.java (original)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SamlTokenSecurityEvent.java Thu Mar 15 20:42:16 2012
@@ -25,7 +25,7 @@ import org.swssf.wss.impl.securityToken.
* @author $Author$
* @version $Revision$ $Date$
*/
-public class SamlTokenSecurityEvent extends TokenSecurityEvent {
+public class SamlTokenSecurityEvent extends IssuedTokenSecurityEvent {
public SamlTokenSecurityEvent() {
super(Event.SamlToken);
@@ -35,6 +35,7 @@ public class SamlTokenSecurityEvent exte
return ((SAMLSecurityToken) getSecurityToken()).getSamlVersion();
}
+ @Override
public String getIssuerName() {
return ((SAMLSecurityToken) getSecurityToken()).getIssuer();
}
Modified: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SecurityContextTokenSecurityEvent.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SecurityContextTokenSecurityEvent.java?rev=1301188&r1=1301187&r2=1301188&view=diff
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SecurityContextTokenSecurityEvent.java (original)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/securityEvent/SecurityContextTokenSecurityEvent.java Thu Mar 15 20:42:16 2012
@@ -22,7 +22,7 @@ package org.swssf.wss.securityEvent;
* @author $Author$
* @version $Revision$ $Date$
*/
-public class SecurityContextTokenSecurityEvent extends TokenSecurityEvent {
+public class SecurityContextTokenSecurityEvent extends IssuedTokenSecurityEvent {
private boolean externalUriRef;
private String issuerName;