Package org.apache.wiki.auth.login
Class WebContainerLoginModule
java.lang.Object
org.apache.wiki.auth.login.AbstractLoginModule
org.apache.wiki.auth.login.WebContainerLoginModule
- All Implemented Interfaces:
LoginModule
public class WebContainerLoginModule extends AbstractLoginModule
Logs in a user by extracting authentication data from an Http servlet
session. First, the module tries to extract a Principal object out of the
request directly using the servlet requests's getUserPrincipal()
method. If one is found, authentication succeeds. If there is no
Principal in the request, try calling getRemoteUser(). If
the remoteUser exists but the UserDatabase can't find a matching
profile, a generic WikiPrincipal is created with this value. If neither
userPrincipal nor remoteUser exist in the request, the login fails.
This module must be used with a CallbackHandler that supports the following Callback types:
HttpRequestCallback- supplies the Http request object, from which the getRemoteUser and getUserPrincipal are extractedUserDatabaseCallback- supplies the user database for looking up the value of getRemoteUser
After authentication, the Subject will contain the Principal that represents the logged-in user.
- Since:
- 2.3
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.log4j.LoggerlogFields inherited from class org.apache.wiki.auth.login.AbstractLoginModule
m_handler, m_options, m_principals, m_state, m_subject, NULL -
Constructor Summary
Constructors Constructor Description WebContainerLoginModule() -
Method Summary
Modifier and Type Method Description booleanlogin()Logs in the user.Methods inherited from class org.apache.wiki.auth.login.AbstractLoginModule
abort, commit, initialize, logout
-
Field Details
-
log
-
-
Constructor Details
-
WebContainerLoginModule
public WebContainerLoginModule()
-
-
Method Details
-
login
Logs in the user.- Specified by:
loginin interfaceLoginModule- Specified by:
loginin classAbstractLoginModule- Returns:
trueif the commit succeeded, orfalseif this LoginModule should be ignored.- Throws:
LoginException- if the authentication fails- See Also:
LoginModule.login()
-