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
`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)