SWS-581 - allow for qualified password types by default
This commit is contained in:
@@ -436,10 +436,6 @@ public class Wss4jSecurityInterceptor extends AbstractWsSecurityInterceptor impl
|
||||
handler.setOption(WSHandlerConstants.ADD_UT_ELEMENTS, securementUsernameTokenElements);
|
||||
}
|
||||
|
||||
public void setAllowQualifiedPasswordTypes(boolean allowQualifiedPasswordTypes) {
|
||||
securityEngine.getWssConfig().setAllowNamespaceQualifiedPasswordTypes(allowQualifiedPasswordTypes);
|
||||
}
|
||||
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
Assert.isTrue(validationActions != null || securementActions != null,
|
||||
"validationActions or securementActions are required");
|
||||
@@ -454,6 +450,9 @@ public class Wss4jSecurityInterceptor extends AbstractWsSecurityInterceptor impl
|
||||
}
|
||||
// securement actions are not to be validated at start up as they could
|
||||
// be configured dynamically via the message context
|
||||
|
||||
// allow for qualified password types for .Net interoperability
|
||||
securityEngine.getWssConfig().setAllowNamespaceQualifiedPasswordTypes(true);
|
||||
}
|
||||
|
||||
protected void secureMessage(SoapMessage soapMessage, MessageContext messageContext)
|
||||
|
||||
@@ -51,28 +51,14 @@ public abstract class Wss4jMessageInterceptorUsernameTokenTestCase extends Wss4j
|
||||
assertValidateUsernameToken(message);
|
||||
}
|
||||
|
||||
public void testValidateUsernameTokenAcceptQualifiedType() throws Exception {
|
||||
public void testValidateUsernameTokenWithQualifiedType() throws Exception {
|
||||
Wss4jSecurityInterceptor interceptor = prepareInterceptor("UsernameToken", true, false);
|
||||
interceptor.setAllowQualifiedPasswordTypes(true);
|
||||
SoapMessage message = loadMessage("usernameTokenPlainTextQualifiedType-soap.xml");
|
||||
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
|
||||
interceptor.validateMessage(message, messageContext);
|
||||
assertValidateUsernameToken(message);
|
||||
}
|
||||
|
||||
public void testValidateUsernameTokenRejectQualifiedType() throws Exception {
|
||||
Wss4jSecurityInterceptor interceptor = prepareInterceptor("UsernameToken", true, false);
|
||||
interceptor.setAllowQualifiedPasswordTypes(false);
|
||||
SoapMessage message = loadMessage("usernameTokenPlainTextQualifiedType-soap.xml");
|
||||
MessageContext messageContext = new DefaultMessageContext(message, getMessageFactory());
|
||||
try {
|
||||
interceptor.validateMessage(message, messageContext);
|
||||
fail("Qualified password type was not rejected");
|
||||
} catch (WsSecurityValidationException e) {
|
||||
// expected
|
||||
}
|
||||
}
|
||||
|
||||
public void testAddUsernameTokenPlainText() throws Exception {
|
||||
Wss4jSecurityInterceptor interceptor = prepareInterceptor("UsernameToken", false, false);
|
||||
interceptor.setSecurementUsername("Bert");
|
||||
|
||||
Reference in New Issue
Block a user