## org.apache.catalina.authenticator
Class FormAuthenticator

    java.lang.Object
      org.apache.catalina.valves.ValveBase
          org.apache.catalina.authenticator.AuthenticatorBase
              org.apache.catalina.authenticator.FormAuthenticator

All Implemented Interfaces:
  Authenticator, Contained, Lifecycle, Valve

public class FormAuthenticator
extends AuthenticatorBase

An Authenticator and Valve implementation of FORM BASED Authentication, as described in the Servlet API Specification, Version 2.2.

Version:
  $Revision: 466595 $ $Date: 2006-10-21 18:24:41 -0400 (Sat, 21 Oct 2006) $
Author:
  Craig R. McClanahan

Field Summary
`protected java.lang.String` `characterEncoding` Character encoding to use to read the username and password parameters from the request.
`protected static java.lang.String` `info` Descriptive information about this implementation.

Fields inherited from class org.apache.catalina.authenticator.AuthenticatorBase
`algorithm, cache, context, debug, DEFAULT_ALGORITHM, digest, disableProxyCaching, entropy, lifecycle, random, randomClass, SESSION_ID_BYTES, sm, sso, started`

Fields inherited from class org.apache.catalina.valves.ValveBase
`container`

Fields inherited from interface org.apache.catalina.Lifecycle
`AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, START_EVENT, STOP_EVENT`

Constructor Summary
`FormAuthenticator()`

Method Summary
`boolean` `authenticate(HttpRequest request, HttpResponse response, LoginConfig config)` Authenticate the user making this request, based on the specified login configuration.
`java.lang.String` `getCharacterEncoding()` Return the character encoding to use to read the username and password.
`java.lang.String` `getInfo()` Return descriptive information about this Valve implementation.
`protected boolean` `matchRequest(HttpRequest request)` Does this request match the saved one (so that it must be the redirect we signalled after successful authentication?
`protected boolean` `restoreRequest(HttpRequest request, Session session)` Restore the original request from information stored in our session.
`void` `setCharacterEncoding(java.lang.String encoding)` Set the character encoding to be used to read the username and password.

Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase

`accessControl, addLifecycleListener, associate, checkUserData, findConstraint, findLifecycleListeners, generateSessionId, getAlgorithm, getCache, getContainer, getDebug, getDigest, getDisableProxyCaching, getEntropy, getRandom, getRandomClass, getSession, getSession, invoke, log, log, reauthenticateFromSSO, register, removeLifecycleListener, setAlgorithm, setCache, setContainer, setDebug, setDisableProxyCaching, setEntropy, setRandomClass, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### info

    protected static final java.lang.String info

  Descriptive information about this implementation.

  See Also:
    Constant Field Values

### characterEncoding

    protected java.lang.String characterEncoding

  Character encoding to use to read the username and password parameters from the request. If not set, the encoding of the request body will be used.

Constructor Detail

### FormAuthenticator

    public FormAuthenticator()

Method Detail

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this Valve implementation.

  Specified by:
    `getInfo` in interface `Valve`
  Overrides:
    `getInfo` in class `AuthenticatorBase`

### getCharacterEncoding

    public java.lang.String getCharacterEncoding()

  Return the character encoding to use to read the username and password.

### setCharacterEncoding

    public void setCharacterEncoding(java.lang.String encoding)

  Set the character encoding to be used to read the username and password.

### authenticate

    public boolean authenticate(HttpRequest request,
                                HttpResponse response,
                                LoginConfig config)
                         throws java.io.IOException

  Authenticate the user making this request, based on the specified login configuration. Return `true` if any specified constraint has been satisfied, or `false` if we have created a response challenge already.

  Specified by:
    `authenticate` in class `AuthenticatorBase`
  Parameters:
    `request` - Request we are processing
    `response` - Response we are creating
    `config` - Login configuration describing how authentication should be performed
  Throws:
    `java.io.IOException` - if an input/output error occurs

### matchRequest

    protected boolean matchRequest(HttpRequest request)

  Does this request match the saved one (so that it must be the redirect we signalled after successful authentication?

  Parameters:
    `request` - The request to be verified

### restoreRequest

    protected boolean restoreRequest(HttpRequest request,
                                     Session session)

  Restore the original request from information stored in our session. If the original request is no longer present (because the session timed out), return `false`; otherwise, return `true`.

  Parameters:
    `request` - The request to be restored
    `session` - The session containing the saved information

Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.