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());