Package org.apache.catalina.realm
Class JAASCallbackHandler
java.lang.Object
org.apache.catalina.realm.JAASCallbackHandler
- All Implemented Interfaces:
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
.
- Author:
- Craig R. McClanahan, Andrew R. Jaquith
-
Field Summary
Modifier and TypeFieldDescriptionprotected final String
The authentication method to be used.protected final String
Client generated nonce.protected final String
Second digest.protected final String
Nonce count.protected final String
Server generated nonce.protected final String
The password to be authenticated with.protected final String
Quality of protection applied to the message.protected final JAASRealm
The associatedJAASRealm
instance.protected final String
Realm name.protected static final StringManager
The string manager for this package.protected final String
The username to be authenticated with. -
Constructor Summary
ConstructorDescriptionJAASCallbackHandler
(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 digestA2, String algorithm, String authMethod) Construct a callback handler for DIGEST authentication. -
Method Summary
-
Field Details
-
sm
The string manager for this package. -
password
The password to be authenticated with. -
realm
The associatedJAASRealm
instance. -
username
The username 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. -
digestA2
Second digest. -
authMethod
The authentication method to be used. If null, assume BASIC/FORM.
-
-
Constructor Details
-
JAASCallbackHandler
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, String username, String password, String nonce, String nc, String cnonce, String qop, String realmName, String digestA2, String algorithm, 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 namedigestA2
- Second digest calculated as digest(Method + ":" + uri)algorithm
- The digest algorithm to useauthMethod
- The authentication method in use
-
-
Method Details
-
handle
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 interfaceCallbackHandler
- Parameters:
callbacks
- The set ofCallback
s to be processed- Throws:
IOException
- if an input/output error occursUnsupportedCallbackException
- if the login method requests an unsupported callback type
-