Apache Tomcat 7.0.28

org.apache.catalina.realm
Class JAASCallbackHandler

java.lang.Object
  extended by org.apache.catalina.realm.JAASCallbackHandler
All Implemented Interfaces:
CallbackHandler

public class JAASCallbackHandler
extends Object
implements CallbackHandler

Implementation of the JAAS CallbackHandler interface, used to negotiate delivery of the username and credentials that were specified to our constructor. No interaction with the user is required (or possible).

This CallbackHandler will pre-digest the supplied password, if required by the <Realm> element in server.xml.

At present, JAASCallbackHandler knows how to handle callbacks of type javax.security.auth.callback.NameCallback and javax.security.auth.callback.PasswordCallback.

Version:
$Id: JAASCallbackHandler.java 1026786 2010-10-24 13:08:26Z markt $
Author:
Craig R. McClanahan, Andrew R. Jaquith

Field Summary
protected  String authMethod
          The authentication method to be used.
protected  String cnonce
          Client generated nonce.
protected  String md5a2
          Second MD5 digest.
protected  String nc
          Nonce count.
protected  String nonce
          Server generated nonce.
protected  String password
          The password to be authenticated with.
protected  String qop
          Quality of protection applied to the message.
protected  JAASRealm realm
          The associated JAASRealm instance.
protected  String realmName
          Realm name.
protected static StringManager sm
          The string manager for this package.
protected  String username
          The username to be authenticated with.
 
Constructor Summary
JAASCallbackHandler(JAASRealm realm, String username, String password)
          Construct a callback handler configured with the specified values.
JAASCallbackHandler(JAASRealm realm, String username, String password, String nonce, String nc, String cnonce, String qop, String realmName, String md5a2, String authMethod)
          Construct a callback handler for DIGEST authentication.
 
Method Summary
 void handle(Callback[] callbacks)
          Retrieve the information requested in the provided Callbacks.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sm

protected static final StringManager sm
The string manager for this package.


password

protected String password
The password to be authenticated with.


realm

protected JAASRealm realm
The associated JAASRealm instance.


username

protected String username
The username to be authenticated with.


nonce

protected String nonce
Server generated nonce.


nc

protected String nc
Nonce count.


cnonce

protected String cnonce
Client generated nonce.


qop

protected String qop
Quality of protection applied to the message.


realmName

protected String realmName
Realm name.


md5a2

protected String md5a2
Second MD5 digest.


authMethod

protected String authMethod
The authentication method to be used. If null, assume BASIC/FORM.

Constructor Detail

JAASCallbackHandler

public JAASCallbackHandler(JAASRealm realm,
                           String username,
                           String password)
Construct a callback handler configured with the specified values. Note that if the JAASRealm instance specifies digested passwords, the password parameter will be pre-digested here.

Parameters:
realm - Our associated JAASRealm instance
username - Username to be authenticated with
password - Password to be authenticated with

JAASCallbackHandler

public JAASCallbackHandler(JAASRealm realm,
                           String username,
                           String password,
                           String nonce,
                           String nc,
                           String cnonce,
                           String qop,
                           String realmName,
                           String md5a2,
                           String authMethod)
Construct a callback handler for DIGEST authentication.

Parameters:
realm - Our associated JAASRealm instance
username - Username to be authenticated with
password - Password to be authenticated with
nonce - Server generated nonce
nc - Nonce count
cnonce - Client generated nonce
qop - Quality of protection applied to the message
realmName - Realm name
md5a2 - Second MD5 digest used to calculate the digest MD5(Method + ":" + uri)
authMethod - The authentication method in use
Method Detail

handle

public void handle(Callback[] callbacks)
            throws IOException,
                   UnsupportedCallbackException
Retrieve the information requested in the provided Callbacks. This implementation only recognizes NameCallback, PasswordCallback and TextInputCallback. TextInputCallback is used to pass the various additional parameters required for DIGEST authentication.

Specified by:
handle in interface CallbackHandler
Parameters:
callbacks - The set of Callbacks to be processed
Throws:
IOException - if an input/output error occurs
UnsupportedCallbackException - if the login method requests an unsupported callback type

Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.