Save This Page
Home » rampart-dist-1.4-src » org.apache.rampart.samples.policy » sample01 » [javadoc | source]
    1   /*
    2    * Copyright 2004,2005 The Apache Software Foundation.
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    *
   10    * Unless required by applicable law or agreed to in writing, software
   11    * distributed under the License is distributed on an "AS IS" BASIS,
   12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   13    * See the License for the specific language governing permissions and
   14    * limitations under the License.
   15    */
   16   
   17   package org.apache.rampart.samples.policy.sample01;
   18   
   19   import org.apache.ws.security.WSPasswordCallback;
   20   
   21   import javax.security.auth.callback.Callback;
   22   import javax.security.auth.callback.CallbackHandler;
   23   import javax.security.auth.callback.UnsupportedCallbackException;
   24   
   25   import java.io.IOException;
   26   
   27   public class PWCBHandler implements CallbackHandler {
   28   
   29       public void handle(Callback[] callbacks) throws IOException,
   30               UnsupportedCallbackException {
   31           for (int i = 0; i < callbacks.length; i++) {
   32               
   33               //When the server side need to authenticate the user
   34               WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
   35               if (pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
   36                   if(pwcb.getIdentifer().equals("alice") && pwcb.getPassword().equals("bobPW")) {
   37                       return;
   38                   } else {
   39                       throw new UnsupportedCallbackException(callbacks[i], "check failed");
   40                   }
   41               }
   42               
   43               //When the client requests for the password to be added in to the 
   44               //UT element
   45               pwcb.setPassword("bobPW");
   46           }
   47       }
   48   
   49   }

Save This Page
Home » rampart-dist-1.4-src » org.apache.rampart.samples.policy » sample01 » [javadoc | source]