Package org.apache.catalina

## Interface Authenticator

- All Known Implementing Classes:
    `AuthenticatorBase`, `BasicAuthenticator`, `DigestAuthenticator`, `FormAuthenticator`, `NonLoginAuthenticator`, `SpnegoAuthenticator`, `SSLAuthenticator`

      public interface Authenticator

  An Authenticator is a component (usually a Valve or Container) that provides some sort of authentication service.
  Author:
    Craig R. McClanahan

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `authenticate​(Request request, HttpServletResponse response)` | Authenticate the user making this request, based on the login configuration of the `Context` with which this Authenticator is associated.
    `void` | `login​(java.lang.String userName, java.lang.String password, Request request)` |
    `void` | `logout​(Request request)` |

- - ### Method Detail

    - #### authenticate

          boolean authenticate​(Request request,
                               HttpServletResponse response)
                        throws java.io.IOException

      Authenticate the user making this request, based on the login configuration of the `Context` with which this Authenticator is associated.
      Parameters:
        `request` - Request we are processing
        `response` - Response we are populating
      Returns:
        `true` 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).
      Throws:
        `java.io.IOException` - if an input/output error occurs

    - #### login

          void login​(java.lang.String userName,
                     java.lang.String password,
                     Request request)
              throws ServletException

      Throws:
        `ServletException`

    - #### logout

          void logout​(Request request)