Samples JDK
SecurityContextCallback.java
1 package com.freemindcafe.apache.cxf.wsdl.sample3;
2 
3 import java.io.IOException;
4 
5 import javax.security.auth.callback.Callback;
6 import javax.security.auth.callback.CallbackHandler;
7 import javax.security.auth.callback.UnsupportedCallbackException;
8 
9 import org.apache.log4j.Logger;
10 import org.apache.wss4j.common.ext.WSPasswordCallback;
11 
12 
13 //\cond HIDDEN_SYMBOLS
14 /**
15  * CXF Password Callback used to retrieve username/password from web service
16  * user request
17  *
18  * @author li00000y
19  *
20  */
21 public class SecurityContextCallback
22  implements
23  CallbackHandler {
24 
25  private static Logger logger = Logger
26  .getLogger(SecurityContextCallback.class);
27 
28 
29  @Override
30  public void handle(Callback[] callbacks) throws IOException,
31  UnsupportedCallbackException {
32 
33  for (int i = 0; i < callbacks.length; i++) {
34 
35  WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
36 
37  if (pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN
38  || pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
39 
40  int usage = pc.getUsage();
41  System.out.println("SecurityContextCallback-----------------");
42  System.out.println("usernname - " + pc.getIdentifier());
43  System.out.println("password - " + pc.getPassword());
44 
45  }
46  }
47 
48  logger.error("No Username/Password found");
49 
50  }
51 
52 
53 }
54 //\endcond