Package org.springframework.security.authentication

# Class DefaultAuthenticationEventPublisher

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

All Implemented Interfaces:
  `org.springframework.beans.factory.Aware`, `org.springframework.context.ApplicationEventPublisherAware`, `AuthenticationEventPublisher`

public class DefaultAuthenticationEventPublisher extends Object implements AuthenticationEventPublisher, org.springframework.context.ApplicationEventPublisherAware
The default strategy for publishing authentication events.

Maps well-known `AuthenticationException` types to events and publishes them via the application context. If configured as a bean, it will pick up the `ApplicationEventPublisher` automatically. Otherwise, the constructor which takes the publisher as an argument should be used.

The exception-mapping system can be fine-tuned by setting the `additionalExceptionMappings` as a `java.util.Properties` object. In the properties object, each of the keys represent the fully qualified classname of the exception, and each of the values represent the name of an event class which subclasses `AbstractAuthenticationFailureEvent` and provides its constructor. The `additionalExceptionMappings` will be merged with the default ones.

Since:
  3.0

## Constructor Summary

Constructors
Constructor
Description
`DefaultAuthenticationEventPublisher()`
`DefaultAuthenticationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)`

## Method Summary

Modifier and Type
Method
Description
`void`
`publishAuthenticationFailure(AuthenticationException exception, Authentication authentication)`
`void`
`publishAuthenticationSuccess(Authentication authentication)`
`void`
`setAdditionalExceptionMappings(Map<Class<? extends AuthenticationException>,Class<? extends AbstractAuthenticationFailureEvent>> mappings)`
Sets additional exception to event mappings.
`void`
`setAdditionalExceptionMappings(Properties additionalExceptionMappings)`
Deprecated.
use `setAdditionalExceptionMappings(Map)`
`void`
`setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)`
`void`
`setDefaultAuthenticationFailureEvent(Class<? extends AbstractAuthenticationFailureEvent> defaultAuthenticationFailureEventClass)`
Sets a default authentication failure event as a fallback event for any unmapped exceptions not mapped in the exception mappings.

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

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

## Constructor Details

### DefaultAuthenticationEventPublisher

public DefaultAuthenticationEventPublisher()

### DefaultAuthenticationEventPublisher

public DefaultAuthenticationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)

## Method Details

### publishAuthenticationSuccess

public void publishAuthenticationSuccess(Authentication authentication)

Specified by:
  `publishAuthenticationSuccess` in interface `AuthenticationEventPublisher`

### publishAuthenticationFailure

public void publishAuthenticationFailure(AuthenticationException exception, Authentication authentication)

Specified by:
  `publishAuthenticationFailure` in interface `AuthenticationEventPublisher`

### setApplicationEventPublisher

public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)

Specified by:
  `setApplicationEventPublisher` in interface `org.springframework.context.ApplicationEventPublisherAware`

### setAdditionalExceptionMappings

@Deprecated public void setAdditionalExceptionMappings(Properties additionalExceptionMappings)
Deprecated.
use `setAdditionalExceptionMappings(Map)`
Sets additional exception to event mappings. These are automatically merged with the default exception to event mappings that `ProviderManager` defines.

Parameters:
  `additionalExceptionMappings` - where keys are the fully-qualified string name of the exception class and the values are the fully-qualified string name of the event class to fire.

### setAdditionalExceptionMappings

public void setAdditionalExceptionMappings(Map<Class<? extends AuthenticationException>,Class<? extends AbstractAuthenticationFailureEvent>> mappings)
Sets additional exception to event mappings. These are automatically merged with the default exception to event mappings that `ProviderManager` defines.

Parameters:
  `mappings` - where keys are exception classes and values are event classes.
Since:
  5.3

### setDefaultAuthenticationFailureEvent

public void setDefaultAuthenticationFailureEvent(Class<? extends AbstractAuthenticationFailureEvent> defaultAuthenticationFailureEventClass)
Sets a default authentication failure event as a fallback event for any unmapped exceptions not mapped in the exception mappings.

Parameters:
  `defaultAuthenticationFailureEventClass` - is the authentication failure event class to be fired for unmapped exceptions.