| java.lang.Object org.apache.catalina.realm.JAASMemoryLoginModule
JAASMemoryLoginModule | public class JAASMemoryLoginModule implements LoginModule,Realm(Code) | | Implementation of the JAAS LoginModule interface,
primarily for use in testing JAASRealm . It utilizes an
XML-format data file of username/password/role information identical to
that supported by org.apache.catalina.realm.MemoryRealm
(except that digested passwords are not supported).
This class recognizes the following string-valued options, which are
specified in the configuration file (and passed to our constructor in
the options argument:
- debug - Set to "true" to get debugging messages
generated to System.out. The default value is
false .
- pathname - Relative (to the pathname specified by the
"catalina.base" system property) or absolute pahtname to the
XML file containing our user information, in the format supported by
MemoryRealm . The default value matches the MemoryRealm
default.
IMPLEMENTATION NOTE - This class implements
Realm only to satisfy the calling requirements of the
GenericPrincipal constructor. It does not actually perform
the functionality required of a Realm implementation.
author: Craig R. McClanahan version: $Revision: 1.1 $ $Date: 2001/11/13 22:42:31 $ |
Field Summary | |
protected CallbackHandler | callbackHandler The callback handler responsible for answering our requests. | protected boolean | committed | protected boolean | debug | protected Map | options The configuration information for this LoginModule . | protected String | pathname The absolute or relative pathname to the XML configuration file. | protected Principal | principal The Principal identified by our validation, or
null if validation falied. | protected HashMap | principals The set of Principals loaded from our configuration file. | protected Map | sharedState The state information that is shared with other configured
LoginModule instances. | protected Subject | subject The subject for which we are performing authentication. |
Method Summary | |
public boolean | abort() Phase 2 of authenticating a Subject when Phase 1
fails. | public void | addPropertyChangeListener(PropertyChangeListener listener) Add a property change listener to this component. | void | addUser(String username, String password, String roles) Add a new user to the in-memory database. | public Principal | authenticate(String username, String credentials) Return the Principal associated with the specified username and
credentials, if there is one; otherwise return null . | public Principal | authenticate(String username, byte[] credentials) Return the Principal associated with the specified username and
credentials, if there is one; otherwise return null . | public Principal | authenticate(String username, String digest, String nonce, String nc, String cnonce, String qop, String realm, String md5a2) Return the Principal associated with the specified username, which
matches the digest calculated using the given parameters using the
method described in RFC 2069; otherwise return null . | public Principal | authenticate(X509Certificate certs) Return the Principal associated with the specified chain of X509
client certificates. | public boolean | commit() Phase 2 of authenticating a Subject when Phase 1
was successful. | public Container | getContainer() Return the Container with which this Realm has been associated. | public String | getInfo() Return descriptive information about this Realm implementation and
the corresponding version number, in the format
<description>/<version> . | public boolean | hasRole(Principal principal, String role) Return true if the specified Principal has the specified
security role, within the context of this Realm; otherwise return
false . | public void | initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options) Initialize this LoginModule with the specified
configuration information. | protected void | load() Load the contents of our configuration file. | protected void | log(String message) Log a message. | protected void | log(String message, Throwable exception) Log a message and associated exception. | public boolean | login() Phase 1 of authenticating a Subject . | public boolean | logout() Log out this user. | public void | removePropertyChangeListener(PropertyChangeListener listener) Remove a property change listener from this component. | public void | setContainer(Container container) Set the Container with which this Realm has been associated. |
callbackHandler | protected CallbackHandler callbackHandler(Code) | | The callback handler responsible for answering our requests.
|
committed | protected boolean committed(Code) | | Has our own commit() returned successfully?
|
debug | protected boolean debug(Code) | | Should we log debugging messages?
|
options | protected Map options(Code) | | The configuration information for this LoginModule .
|
pathname | protected String pathname(Code) | | The absolute or relative pathname to the XML configuration file.
|
principal | protected Principal principal(Code) | | The Principal identified by our validation, or
null if validation falied.
|
principals | protected HashMap principals(Code) | | The set of Principals loaded from our configuration file.
|
sharedState | protected Map sharedState(Code) | | The state information that is shared with other configured
LoginModule instances.
|
subject | protected Subject subject(Code) | | The subject for which we are performing authentication.
|
abort | public boolean abort() throws LoginException(Code) | | Phase 2 of authenticating a Subject when Phase 1
fails. This method is called if the LoginContext
failed somewhere in the overall authentication chain.
true if this method succeeded, orfalse if this LoginModule should beignored exception: LoginException - if the abort fails |
addPropertyChangeListener | public void addPropertyChangeListener(PropertyChangeListener listener)(Code) | | Add a property change listener to this component.
Parameters: listener - The listener to add |
addUser | void addUser(String username, String password, String roles)(Code) | | Add a new user to the in-memory database.
Parameters: username - User's username Parameters: password - User's password (clear text) Parameters: roles - Comma-delimited set of roles associated with this user |
authenticate | public Principal authenticate(String username, String credentials)(Code) | | Return the Principal associated with the specified username and
credentials, if there is one; otherwise return null .
Parameters: username - Username of the Principal to look up Parameters: credentials - Password or other credentials to use inauthenticating this username |
authenticate | public Principal authenticate(String username, byte[] credentials)(Code) | | Return the Principal associated with the specified username and
credentials, if there is one; otherwise return null .
Parameters: username - Username of the Principal to look up Parameters: credentials - Password or other credentials to use inauthenticating this username |
authenticate | public Principal authenticate(String username, String digest, String nonce, String nc, String cnonce, String qop, String realm, String md5a2)(Code) | | Return the Principal associated with the specified username, which
matches the digest calculated using the given parameters using the
method described in RFC 2069; otherwise return null .
Parameters: username - Username of the Principal to look up Parameters: digest - Digest which has been submitted by the client Parameters: nonce - Unique (or supposedly unique) token which has been usedfor this request Parameters: realm - Realm name Parameters: md5a2 - Second MD5 digest used to calculate the digest :MD5(Method + ":" + uri) |
authenticate | public Principal authenticate(X509Certificate certs)(Code) | | Return the Principal associated with the specified chain of X509
client certificates. If there is none, return null .
Parameters: certs - Array of client certificates, with the first one inthe array being the certificate of the client itself. |
commit | public boolean commit() throws LoginException(Code) | | Phase 2 of authenticating a Subject when Phase 1
was successful. This method is called if the LoginContext
succeeded in the overall authentication chain.
true if the authentication succeeded, orfalse if this LoginModule should beignored exception: LoginException - if the commit fails |
getContainer | public Container getContainer()(Code) | | Return the Container with which this Realm has been associated.
|
getInfo | public String getInfo()(Code) | | Return descriptive information about this Realm implementation and
the corresponding version number, in the format
<description>/<version> .
|
hasRole | public boolean hasRole(Principal principal, String role)(Code) | | Return true if the specified Principal has the specified
security role, within the context of this Realm; otherwise return
false .
Parameters: principal - Principal for whom the role is to be checked Parameters: role - Security role to be checked |
initialize | public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options)(Code) | | Initialize this LoginModule with the specified
configuration information.
Parameters: subject - The Subject to be authenticated Parameters: callbackHandler - A CallbackHandler for communicatingwith the end user as necessary Parameters: sharedState - State information shared with otherLoginModule instances Parameters: options - Configuration information for this specificLoginModule instance |
load | protected void load()(Code) | | Load the contents of our configuration file.
|
log | protected void log(String message)(Code) | | Log a message.
Parameters: message - The message to be logged |
log | protected void log(String message, Throwable exception)(Code) | | Log a message and associated exception.
Parameters: message - The message to be logged Parameters: exception - The associated exception |
login | public boolean login() throws LoginException(Code) | | Phase 1 of authenticating a Subject .
true if the authentication succeeded, orfalse if this LoginModule should beignored exception: LoginException - if the authentication fails |
logout | public boolean logout() throws LoginException(Code) | | Log out this user.
true in all cases because thieLoginModule should not be ignored exception: LoginException - if logging out failed |
removePropertyChangeListener | public void removePropertyChangeListener(PropertyChangeListener listener)(Code) | | Remove a property change listener from this component.
Parameters: listener - The listener to remove |
setContainer | public void setContainer(Container container)(Code) | | Set the Container with which this Realm has been associated.
Parameters: container - The associated Container |
|
|