Package org.apache.wiki.auth.login
Class AbstractLoginModule
java.lang.Object
org.apache.wiki.auth.login.AbstractLoginModule
- All Implemented Interfaces:
javax.security.auth.spi.LoginModule
- Direct Known Subclasses:
AnonymousLoginModule,CookieAssertionLoginModule,CookieAuthenticationLoginModule,UserDatabaseLoginModule,WebContainerLoginModule
public abstract class AbstractLoginModule extends java.lang.Object implements javax.security.auth.spi.LoginModule
Abstract JAAS
LoginModulethat implements
base functionality. The methods login() and commit() must
be implemented by subclasses. The default implementations of
initialize(Subject, CallbackHandler, Map, Map), abort() and
logout() should be sufficient for most purposes.- Since:
- 2.3
-
Field Summary
Fields Modifier and Type Field Description protected javax.security.auth.callback.CallbackHandlerm_handlerprotected java.util.Map<java.lang.String,?>m_optionsprotected java.util.Collection<java.security.Principal>m_principalsImplementing classes should add Principals to this collection; these will be added to the principal set when the overall login succeeds.protected java.util.Map<java.lang.String,?>m_stateprotected javax.security.auth.Subjectm_subjectprotected static java.lang.StringNULL -
Constructor Summary
Constructors Constructor Description AbstractLoginModule() -
Method Summary
Modifier and Type Method Description booleanabort()Aborts the login; called if the LoginContext's overall authentication failed.booleancommit()Commits the login.voidinitialize(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)Initializes the LoginModule with a givenSubject, callback handler, options and shared state.abstract booleanlogin()Logs in the user by calling back to the registered CallbackHandler with a series of callbacks.booleanlogout()Logs the user out.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
m_handler
-
m_options
-
m_principals
Implementing classes should add Principals to this collection; these will be added to the principal set when the overall login succeeds. These Principals will be added to the Subject during thecommit()phase of login. -
m_state
-
m_subject
-
NULL
- See Also:
- Constant Field Values
-
-
Constructor Details
-
AbstractLoginModule
public AbstractLoginModule()
-
-
Method Details
-
abort
Aborts the login; called if the LoginContext's overall authentication failed. (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules did not succeed). Specifically, it removes Principals from the Subject that are associated with the individual LoginModule; these will be those contained inm_principals. It always returnstrue.- Specified by:
abortin interfacejavax.security.auth.spi.LoginModule- Returns:
- True, always.
- See Also:
LoginModule.abort()
-
commit
Commits the login. If the overall login method succeeded, adds principals to the Subject's set; generally, these will be the user's actual Principal, plus one or more Role principals. The state of them_principalsmember variable is consulted to determine whether to add the principals. If its size is 0 (because the login failed), the login is considered to have failed; in this case, all principals inm_principalsare removed from the Subject's set. Otherwise, the principals added tom_principalsin thelogin()method are added to the Subject's set.- Specified by:
commitin interfacejavax.security.auth.spi.LoginModule- Returns:
trueif the commit succeeded, orfalseif the previous call tologin()failed- See Also:
LoginModule.commit()
-
initialize
public final 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)Initializes the LoginModule with a givenSubject, callback handler, options and shared state. In particular, the member variablem_principalsis initialized as a blank Set.- Specified by:
initializein interfacejavax.security.auth.spi.LoginModule- Parameters:
subject-callbackHandler-sharedState-options-- See Also:
LoginModule.initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, java.util.Map, java.util.Map)
-
login
Logs in the user by calling back to the registered CallbackHandler with a series of callbacks. If the login succeeds, this method returnstrue- Specified by:
loginin interfacejavax.security.auth.spi.LoginModule- Returns:
trueif the commit succeeded, orfalseif this LoginModule should be ignored.- Throws:
javax.security.auth.login.LoginException- if the authentication fails- See Also:
LoginModule.login()
-
logout
Logs the user out. Removes all principals inm_principalsfrom the Subject's principal set.- Specified by:
logoutin interfacejavax.security.auth.spi.LoginModule- Returns:
trueif the commit succeeded, orfalseif this LoginModule should be ignored- See Also:
LoginModule.logout()
-