SimpleCallbackHandler.java

  1. /**
  2.  * Originally contributed by eMation (www.emation.pt)
  3.  */
  4. package org.itracker.services.authentication.adsson;

  5. import javax.security.auth.callback.*;

  6. /**
  7.  * Callback class for Active Directory authentication Gets username and password
  8.  * from class constructor
  9.  *
  10.  * @author ricardo
  11.  */
  12. public class SimpleCallbackHandler implements CallbackHandler {

  13.     private String username;

  14.     private String password;

  15.     public SimpleCallbackHandler(String username, String password) {
  16.         super();
  17.         this.username = username;
  18.         this.password = password;
  19.     }

  20.     public void handle(Callback[] callbacks) throws java.io.IOException, UnsupportedCallbackException {

  21.         for (int i = 0; i < callbacks.length; i++) {
  22.             if (callbacks[i] instanceof NameCallback) {
  23.                 NameCallback cb = (NameCallback) callbacks[i];
  24.                 cb.setName(username);
  25.             } else if (callbacks[i] instanceof PasswordCallback) {
  26.                 PasswordCallback cb = (PasswordCallback) callbacks[i];
  27.                 cb.setPassword(password.toCharArray());
  28.             } else {
  29.                 throw new UnsupportedCallbackException(callbacks[i]);
  30.             }
  31.         }

  32.     }
  33. }