Package org.springframework.security.authentication

# Class AnonymousAuthenticationProvider

java.lang.Object
org.springframework.security.authentication.AnonymousAuthenticationProvider

All Implemented Interfaces:
  `org.springframework.beans.factory.Aware`, `org.springframework.context.MessageSourceAware`, `AuthenticationProvider`

public class AnonymousAuthenticationProvider extends Object implements AuthenticationProvider, org.springframework.context.MessageSourceAware
An `AuthenticationProvider` implementation that validates `AnonymousAuthenticationToken`s.

To be successfully validated, the `AnonymousAuthenticationToken.getKeyHash()` must match this class' `getKey()`.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected org.springframework.context.support.MessageSourceAccessor`
`messages`

## Constructor Summary

Constructors
Constructor
Description
`AnonymousAuthenticationProvider(String key)`

## Method Summary

Modifier and Type
Method
Description
`Authentication`
`authenticate(Authentication authentication)`
Performs authentication with the same contract as `AuthenticationManager.authenticate(Authentication)` .
`String`
`getKey()`
`void`
`setMessageSource(org.springframework.context.MessageSource messageSource)`
`boolean`
`supports(Class<?> authentication)`
Returns `true` if this `AuthenticationProvider` supports the indicated `Authentication` object.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### messages

protected org.springframework.context.support.MessageSourceAccessor messages

## Constructor Details

### AnonymousAuthenticationProvider

public AnonymousAuthenticationProvider(String key)

## Method Details

### authenticate

public Authentication authenticate(Authentication authentication) throws AuthenticationException
Description copied from interface: `AuthenticationProvider`
Performs authentication with the same contract as `AuthenticationManager.authenticate(Authentication)` .

Specified by:
  `authenticate` in interface `AuthenticationProvider`
Parameters:
  `authentication` - the authentication request object.
Returns:
  a fully authenticated object including credentials. May return `null` if the `AuthenticationProvider` is unable to support authentication of the passed `Authentication` object. In such a case, the next `AuthenticationProvider` that supports the presented `Authentication` class will be tried.
Throws:
  `AuthenticationException` - if authentication fails.

### getKey

public String getKey()

### setMessageSource

public void setMessageSource(org.springframework.context.MessageSource messageSource)

Specified by:
  `setMessageSource` in interface `org.springframework.context.MessageSourceAware`

### supports

public boolean supports(Class<?> authentication)
Description copied from interface: `AuthenticationProvider`
Returns `true` if this `AuthenticationProvider` supports the indicated `Authentication` object.

Returning `true` does not guarantee an `AuthenticationProvider` will be able to authenticate the presented `Authentication` object. It simply indicates it can support closer evaluation of it. An `AuthenticationProvider` can still return `null` from the `AuthenticationProvider.authenticate(Authentication)` method to indicate another `AuthenticationProvider` should be tried.

Selection of an `AuthenticationProvider` capable of performing authentication is conducted at runtime the `ProviderManager`.

Specified by:
  `supports` in interface `AuthenticationProvider`
Returns:
  `true` if the implementation can more closely evaluate the `Authentication` class presented