public class JAASMemoryLoginModule extends MemoryRealm implements javax.security.auth.spi.LoginModule
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
.
This class recognizes the following string-valued options, which are
specified in the configuration file and passed to initialize(Subject, CallbackHandler, Map, Map)
in the options
argument:
MemoryRealm
. The default value matches the MemoryRealm
default.MessageDigestCredentialHandler
will be used.CredentialHandler
. For example, algorithm=SHA256
would result in a call to MessageDigestCredentialHandler.setAlgorithm(String)
with a parameter of
"SHA256"
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.
RealmBase.AllRolesMode
Lifecycle.SingleUse
Modifier and Type | Field and Description |
---|---|
protected javax.security.auth.callback.CallbackHandler |
callbackHandler
The callback handler responsible for answering our requests.
|
protected boolean |
committed
Has our own
commit() returned successfully? |
protected java.util.Map<java.lang.String,?> |
options
The configuration information for this
LoginModule . |
protected java.lang.String |
pathname
The absolute or relative pathname to the XML configuration file.
|
protected java.security.Principal |
principal
The
Principal identified by our validation, or
null if validation failed. |
protected java.util.Map<java.lang.String,?> |
sharedState
The state information that is shared with other configured
LoginModule instances. |
protected javax.security.auth.Subject |
subject
The subject for which we are performing authentication.
|
name
allRolesMode, container, containerLog, digest, digestEncoding, md, md5Helper, realmPath, sm, stripRealmForGss, support, validate, x509UsernameRetriever, x509UsernameRetrieverClassName
mserver
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
Constructor and Description |
---|
JAASMemoryLoginModule() |
Modifier and Type | Method and Description |
---|---|
boolean |
abort()
Phase 2 of authenticating a
Subject when Phase 1
fails. |
boolean |
commit()
Phase 2 of authenticating a
Subject when Phase 1
was successful. |
void |
initialize(javax.security.auth.Subject subject,
javax.security.auth.callback.CallbackHandler callbackHandler,
java.util.Map<java.lang.String,?> sharedState,
java.util.Map<java.lang.String,?> options)
Initialize this
LoginModule with the specified
configuration information. |
protected void |
load()
Load the contents of our configuration file.
|
boolean |
login()
Phase 1 of authenticating a
Subject . |
boolean |
logout()
Log out this user.
|
authenticate, getDigester, getName, getPassword, getPathname, getPrincipal, setPathname, startInternal
addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, backgroundProcess, compareCredentials, digest, Digest, findSecurityConstraints, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDigest, getDigestCharset, getDigestEncoding, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getPrincipal, getRealmPath, getRealmSuffix, getServer, getTransportGuaranteeRedirectStatus, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasRole, hasUserDataPermission, initInternal, isStripRealmForGss, main, removePropertyChangeListener, setAllRolesMode, setContainer, setCredentialHandler, setDigest, setDigestEncoding, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setValidate, setX509UsernameRetrieverClassName, stopInternal, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop
protected javax.security.auth.callback.CallbackHandler callbackHandler
protected boolean committed
commit()
returned successfully?protected java.util.Map<java.lang.String,?> options
LoginModule
.protected java.lang.String pathname
protected java.security.Principal principal
Principal
identified by our validation, or
null
if validation failed.protected java.util.Map<java.lang.String,?> sharedState
LoginModule
instances.protected javax.security.auth.Subject subject
public boolean abort() throws javax.security.auth.login.LoginException
Subject
when Phase 1
fails. This method is called if the LoginContext
failed somewhere in the overall authentication chain.abort
in interface javax.security.auth.spi.LoginModule
true
if this method succeeded, or
false
if this LoginModule
should be
ignoredjavax.security.auth.login.LoginException
- if the abort failspublic boolean commit() throws javax.security.auth.login.LoginException
Subject
when Phase 1
was successful. This method is called if the LoginContext
succeeded in the overall authentication chain.commit
in interface javax.security.auth.spi.LoginModule
true
if the authentication succeeded, or
false
if this LoginModule
should be
ignoredjavax.security.auth.login.LoginException
- if the commit failspublic void initialize(javax.security.auth.Subject subject, javax.security.auth.callback.CallbackHandler callbackHandler, java.util.Map<java.lang.String,?> sharedState, java.util.Map<java.lang.String,?> options)
LoginModule
with the specified
configuration information.initialize
in interface javax.security.auth.spi.LoginModule
subject
- The Subject
to be authenticatedcallbackHandler
- A CallbackHandler
for communicating
with the end user as necessarysharedState
- State information shared with other
LoginModule
instancesoptions
- Configuration information for this specific
LoginModule
instancepublic boolean login() throws javax.security.auth.login.LoginException
Subject
.login
in interface javax.security.auth.spi.LoginModule
true
if the authentication succeeded, or
false
if this LoginModule
should be
ignoredjavax.security.auth.login.LoginException
- if the authentication failspublic boolean logout() throws javax.security.auth.login.LoginException
logout
in interface javax.security.auth.spi.LoginModule
true
in all cases because the
LoginModule
should not be ignoredjavax.security.auth.login.LoginException
- if logging out failedprotected void load()
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.