Package org.apache.catalina.realm
Class JAASCallbackHandler
- java.lang.Object
-
- org.apache.catalina.realm.JAASCallbackHandler
-
- All Implemented Interfaces:
javax.security.auth.callback.CallbackHandler
public class JAASCallbackHandler extends java.lang.Object implements javax.security.auth.callback.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 inserver.xml
.At present,
JAASCallbackHandler
knows how to handle callbacks of typejavax.security.auth.callback.NameCallback
andjavax.security.auth.callback.PasswordCallback
.- Author:
- Craig R. McClanahan, Andrew R. Jaquith
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
authMethod
The authentication method to be used.protected java.lang.String
cnonce
Client generated nonce.protected java.lang.String
md5a2
Second MD5 digest.protected java.lang.String
nc
Nonce count.protected java.lang.String
nonce
Server generated nonce.protected java.lang.String
password
The password to be authenticated with.protected java.lang.String
qop
Quality of protection applied to the message.protected JAASRealm
realm
The associatedJAASRealm
instance.protected java.lang.String
realmName
Realm name.protected static StringManager
sm
The string manager for this package.protected java.lang.String
username
The username to be authenticated with.
-
Constructor Summary
Constructors Constructor Description JAASCallbackHandler(JAASRealm realm, java.lang.String username, java.lang.String password)
Construct a callback handler configured with the specified values.JAASCallbackHandler(JAASRealm realm, java.lang.String username, java.lang.String password, java.lang.String nonce, java.lang.String nc, java.lang.String cnonce, java.lang.String qop, java.lang.String realmName, java.lang.String md5a2, java.lang.String authMethod)
Construct a callback handler for DIGEST authentication.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
handle(javax.security.auth.callback.Callback[] callbacks)
Retrieve the information requested in the providedCallbacks
.
-
-
-
Field Detail
-
sm
protected static final StringManager sm
The string manager for this package.
-
password
protected final java.lang.String password
The password to be authenticated with.
-
realm
protected final JAASRealm realm
The associatedJAASRealm
instance.
-
username
protected final java.lang.String username
The username to be authenticated with.
-
nonce
protected final java.lang.String nonce
Server generated nonce.
-
nc
protected final java.lang.String nc
Nonce count.
-
cnonce
protected final java.lang.String cnonce
Client generated nonce.
-
qop
protected final java.lang.String qop
Quality of protection applied to the message.
-
realmName
protected final java.lang.String realmName
Realm name.
-
md5a2
protected final java.lang.String md5a2
Second MD5 digest.
-
authMethod
protected final java.lang.String authMethod
The authentication method to be used. If null, assume BASIC/FORM.
-
-
Constructor Detail
-
JAASCallbackHandler
public JAASCallbackHandler(JAASRealm realm, java.lang.String username, java.lang.String password)
Construct a callback handler configured with the specified values. Note that if theJAASRealm
instance specifies digested passwords, thepassword
parameter will be pre-digested here.- Parameters:
realm
- Our associated JAASRealm instanceusername
- Username to be authenticated withpassword
- Password to be authenticated with
-
JAASCallbackHandler
public JAASCallbackHandler(JAASRealm realm, java.lang.String username, java.lang.String password, java.lang.String nonce, java.lang.String nc, java.lang.String cnonce, java.lang.String qop, java.lang.String realmName, java.lang.String md5a2, java.lang.String authMethod)
Construct a callback handler for DIGEST authentication.- Parameters:
realm
- Our associated JAASRealm instanceusername
- Username to be authenticated withpassword
- Password to be authenticated withnonce
- Server generated noncenc
- Nonce countcnonce
- Client generated nonceqop
- Quality of protection applied to the messagerealmName
- Realm namemd5a2
- Second MD5 digest used to calculate the digest MD5(Method + ":" + uri)authMethod
- The authentication method in use
-
-
Method Detail
-
handle
public void handle(javax.security.auth.callback.Callback[] callbacks) throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
Retrieve the information requested in the providedCallbacks
. This implementation only recognizesNameCallback
,PasswordCallback
andTextInputCallback
.TextInputCallback
is used to pass the various additional parameters required for DIGEST authentication.- Specified by:
handle
in interfacejavax.security.auth.callback.CallbackHandler
- Parameters:
callbacks
- The set ofCallback
s to be processed- Throws:
java.io.IOException
- if an input/output error occursjavax.security.auth.callback.UnsupportedCallbackException
- if the login method requests an unsupported callback type
-
-