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

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.
`boolean` `authenticate(Request request, HttpServletResponse response, LoginConfig config)` Deprecated. Use `authenticate(Request, HttpServletResponse)`. This will be removed / have reduced visibility in Tomcat 8.0.x
`void` `login(String userName, String password, Request request)`
`void` `logout(Request request)`

### Method Detail

#### authenticate

    boolean authenticate(Request request,
                       HttpServletResponse response)
                         throws IOException

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

Parameters:
  `request` - Request we are processing
  `response` - Response we are populating
Throws:
  `IOException` - if an input/output error occurs

#### authenticate

    @Deprecated
    boolean authenticate(Request request,
                                  HttpServletResponse response,
                                  LoginConfig config)
                         throws IOException

Deprecated. Use `authenticate(Request, HttpServletResponse)`. This will be removed / have reduced visibility in Tomcat 8.0.x
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.

Parameters:
  `request` - Request we are processing
  `response` - Response we are populating
  `config` - Login configuration describing how authentication should be performed
Throws:
  `IOException` - if an input/output error occurs

#### login

    void login(String userName,
             String password,
             Request request)
               throws ServletException

Throws:
  `ServletException`

#### logout

    void logout(Request request)
                throws ServletException

Throws:
  `ServletException`