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:
javax.security.auth.spi.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.Logger
log
Fields 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 boolean
login()
Logs in the user.Methods inherited from class org.apache.wiki.auth.login.AbstractLoginModule
abort, commit, initialize, logout
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
log
-
-
Constructor Details
-
WebContainerLoginModule
public WebContainerLoginModule()
-
-
Method Details
-
login
Logs in the user.- Specified by:
login
in interfacejavax.security.auth.spi.LoginModule
- Specified by:
login
in classAbstractLoginModule
- Returns:
true
if the commit succeeded, orfalse
if this LoginModule should be ignored.- Throws:
javax.security.auth.login.LoginException
- if the authentication fails- See Also:
LoginModule.login()
-