public class FormAuthenticator extends AuthenticatorBase
AuthenticatorBase.AllowCorsPreflight
Lifecycle.SingleUse
Modifier and Type | Field and Description |
---|---|
protected String |
characterEncoding
Character encoding to use to read the username and password parameters
from the request.
|
protected static String |
info
Descriptive information about this implementation.
|
protected String |
landingPage
Landing page to use if a user tries to access the login page directly or
if the session times out during login.
|
alwaysUseSession, AUTH_HEADER_NAME, cache, changeSessionIdOnAuthentication, context, disableProxyCaching, REALM_NAME, securePagesWithPragma, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, sendAuthInfoResponseHeaders, sessionIdGenerator, sm, sso
asyncSupported, container, containerLog, next
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 |
---|
FormAuthenticator() |
Modifier and Type | Method and Description |
---|---|
boolean |
authenticate(Request request,
HttpServletResponse response,
LoginConfig config)
Authenticate the user making this request, based on the specified
login configuration.
|
protected void |
forwardToErrorPage(Request request,
HttpServletResponse response,
LoginConfig config)
Called to forward to the error page
|
protected void |
forwardToLoginPage(Request request,
HttpServletResponse response,
LoginConfig config)
Called to forward to the login page
|
protected String |
getAuthMethod() |
String |
getCharacterEncoding()
Return the character encoding to use to read the user name and password.
|
String |
getInfo()
Return descriptive information about this Valve implementation.
|
String |
getLandingPage()
Return the landing page to use when FORM auth is mis-used.
|
protected boolean |
isContinuationRequired(Request request)
Does this authenticator require that
AuthenticatorBase.authenticate(Request,
HttpServletResponse) is called to continue an authentication process
that started in a previous request? |
protected boolean |
matchRequest(Request request)
Does this request match the saved one (so that it must be the redirect
we signaled after successful authentication?
|
void |
register(Request request,
HttpServletResponse response,
Principal principal,
String authType,
String username,
String password)
Register an authenticated Principal and authentication type in our
request, in the current session (if there is one), and with our
SingleSignOn valve, if there is one.
|
protected boolean |
restoreRequest(Request request,
Session session)
Restore the original request from information stored in our session.
|
protected String |
savedRequestURL(Session session)
Return the request URI (with the corresponding query string, if any)
from the saved request so that we can redirect to it.
|
protected void |
saveRequest(Request request,
Session session)
Save the original request information into our session.
|
void |
setCharacterEncoding(String encoding)
Set the character encoding to be used to read the user name and password.
|
void |
setLandingPage(String landingPage)
Set the landing page to use when the FORM auth is mis-used.
|
allowCorsPreflightBypass, associate, authenticate, changeSessionID, checkForCachedAuthentication, doLogin, getAllowCorsPreflight, getAlwaysUseSession, getCache, getChangeSessionIdOnAuthentication, getContainer, getDisableProxyCaching, getRequestCertificates, getSecurePagesWithPragma, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, invoke, isSendAuthInfoResponseHeaders, login, logout, reauthenticateFromSSO, setAllowCorsPreflight, setAlwaysUseSession, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setSecurePagesWithPragma, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSendAuthInfoResponseHeaders, startInternal, stopInternal
backgroundProcess, event, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setNext, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
protected static final String info
protected String characterEncoding
protected String landingPage
public String getInfo()
getInfo
in interface Valve
getInfo
in class AuthenticatorBase
public String getCharacterEncoding()
public void setCharacterEncoding(String encoding)
encoding
- The name of the encoding to usepublic String getLandingPage()
public void setLandingPage(String landingPage)
landingPage
- The path to the landing page relative to the web
application rootpublic boolean authenticate(Request request, HttpServletResponse response, LoginConfig config) throws IOException
true
if any specified
constraint has been satisfied, or false
if we have
created a response challenge already.authenticate
in interface Authenticator
authenticate
in class AuthenticatorBase
request
- Request we are processingresponse
- Response we are creatingconfig
- Login configuration describing how authentication
should be performedtrue
if any specified constraints have been
satisfied, or false
if one more constraints were not
satisfied (in which case an authentication challenge will have
been written to the response).IOException
- if an input/output error occursprotected boolean isContinuationRequired(Request request)
AuthenticatorBase
AuthenticatorBase.authenticate(Request,
HttpServletResponse)
is called to continue an authentication process
that started in a previous request?isContinuationRequired
in class AuthenticatorBase
request
- The request currently being processedtrue
if authenticate() must be called, otherwise
false
protected String getAuthMethod()
getAuthMethod
in class AuthenticatorBase
public void register(Request request, HttpServletResponse response, Principal principal, String authType, String username, String password)
AuthenticatorBase
register
in class AuthenticatorBase
request
- The servlet request we are processingresponse
- The servlet response we are generatingprincipal
- The authenticated Principal to be registeredauthType
- The authentication type to be registeredusername
- Username used to authenticate (if any)password
- Password used to authenticate (if any)protected void forwardToLoginPage(Request request, HttpServletResponse response, LoginConfig config) throws IOException
request
- Request we are processingresponse
- Response we are populatingconfig
- Login configuration describing how authentication
should be performedIOException
- If the forward to the login page fails and the call
to HttpServletResponse.sendError(int, String)
throws an IOException
protected void forwardToErrorPage(Request request, HttpServletResponse response, LoginConfig config) throws IOException
request
- Request we are processingresponse
- Response we are populatingconfig
- Login configuration describing how authentication
should be performedIOException
- If the forward to the error page fails and the call
to HttpServletResponse.sendError(int, String)
throws an IOException
protected boolean matchRequest(Request request)
request
- The request to be verifiedtrue
if the requests matched the saved oneprotected boolean restoreRequest(Request request, Session session) throws IOException
false
; otherwise, return
true
.request
- The request to be restoredsession
- The session containing the saved informationtrue
if the request was successfully restoredIOException
- if an IO error occurred during the processprotected void saveRequest(Request request, Session session) throws IOException
request
- The request to be savedsession
- The session to contain the saved informationIOException
- if an IO error occurred during the processCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.