You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by na...@apache.org on 2008/01/29 15:28:54 UTC
svn commit: r616337 -
/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
Author: nandana
Date: Tue Jan 29 06:28:52 2008
New Revision: 616337
URL: http://svn.apache.org/viewvc?rev=616337&view=rev
Log:
Changed the Username token building to cater the NoPassword and HashPassword scenarios
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
Modified: webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?rev=616337&r1=616336&r2=616337&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java Tue Jan 29 06:28:52 2008
@@ -106,7 +106,7 @@
* @return The <code>WSSecUsernameToken</code> instance
* @throws RampartException
*/
- protected WSSecUsernameToken addUsernameToken(RampartMessageData rmd) throws RampartException {
+ protected WSSecUsernameToken addUsernameToken(RampartMessageData rmd, UsernameToken token) throws RampartException {
log.debug("Adding a UsernameToken");
@@ -126,6 +126,14 @@
if(user != null && !"".equals(user)) {
log.debug("User : " + user);
+ // If NoPassword property is set we don't need to set the password
+ if (token.isNoPassword()) {
+ WSSecUsernameToken utBuilder = new WSSecUsernameToken();
+ utBuilder.setUserInfo(user, null);
+ utBuilder.setPasswordType(null);
+ return utBuilder;
+ }
+
//Get the password
//First check options object for a password
@@ -162,8 +170,12 @@
WSSecUsernameToken utBuilder = new WSSecUsernameToken();
- //TODO Get the UT type, only WS-SX spec supports this
- utBuilder.setPasswordType(WSConstants.PASSWORD_TEXT);
+ if (token.isHashPassword()) {
+ utBuilder.setPasswordType(WSConstants.PASSWORD_DIGEST);
+ } else {
+ utBuilder.setPasswordType(WSConstants.PASSWORD_TEXT);
+ }
+
utBuilder.setUserInfo(user, password);
return utBuilder;
@@ -342,7 +354,7 @@
endSuppTokMap.put(token, sig);
} else if(token instanceof UsernameToken) {
- WSSecUsernameToken utBuilder = addUsernameToken(rmd);
+ WSSecUsernameToken utBuilder = addUsernameToken(rmd, (UsernameToken)token);
utBuilder.prepare(rmd.getDocument());