# 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

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(String userName, String password, Request request)`
`void`
`logout(Request request)`

## Method Details

### 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.

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