User: luke_t  
  Date: 01/12/18 18:18:09

  Added:       src/main/org/jboss/test/security/test
                        PasswordHashLoginUnitTestCase.java
  Log:
  tests for login using hashed passwords.
  
  Revision  Changes    Path
  1.1                  
jbosstest/src/main/org/jboss/test/security/test/PasswordHashLoginUnitTestCase.java
  
  Index: PasswordHashLoginUnitTestCase.java
  ===================================================================
  package org.jboss.test.security.test;
  
  
  import javax.security.auth.login.LoginContext;
  import javax.security.auth.callback.Callback;
  import javax.security.auth.callback.CallbackHandler;
  import javax.security.auth.callback.PasswordCallback;
  import javax.security.auth.callback.NameCallback;
  import javax.security.auth.callback.UnsupportedCallbackException;
  
  import org.jboss.test.JBossTestCase;
  
  /**
   * Tests for logins with password hashes.
   * The configurations are taken from the resources
   *
   * @author [EMAIL PROTECTED]
   * @version $Revision: 1.1 $
   */
  public class PasswordHashLoginUnitTestCase extends JBossTestCase
  {
     public PasswordHashLoginUnitTestCase(String name)
     {
        super(name);
     }
  
  // JAAS CallbackHandler for logins.
     static class TestCallbackHandler implements CallbackHandler
     {
        private String _username;
        private String _password;
  
        public TestCallbackHandler(String username, String password)
        {
           _username = username;
           _password = password;
        }
  
        public void handle(Callback[] callbacks) throws UnsupportedCallbackException
        {
           for (int i = 0; i < callbacks.length; i++)
           {
              Callback cb = callbacks[i];
              if (cb instanceof NameCallback)
              {
                 ((NameCallback)cb).setName(_username);
              }
              else if (cb instanceof PasswordCallback)
              {
                 ((PasswordCallback)cb).setPassword(_password.toCharArray());
              }
              else
              {
                 throw new UnsupportedCallbackException(callbacks[i], "Unsupported 
Callback Type " + cb.getClass().getName());
              }
           }
        }
     }
  
     public void testPassHashLogin1() throws Exception
     {
        LoginContext lc = new LoginContext("pass-hash1", new 
TestCallbackHandler("luke","password"));
        lc.login();
     }
  
     public void testPassHashLogin2() throws Exception
     {
        LoginContext lc = new LoginContext("pass-hash2", new 
TestCallbackHandler("joe","password"));
        lc.login();
     }
  
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to