org.springframework.security.authentication
Class DefaultAuthenticationEventPublisher

java.lang.Object
  extended by org.springframework.security.authentication.DefaultAuthenticationEventPublisher
All Implemented Interfaces:
org.springframework.context.ApplicationEventPublisherAware, AuthenticationEventPublisher

public class DefaultAuthenticationEventPublisher
extends java.lang.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
DefaultAuthenticationEventPublisher()
           
DefaultAuthenticationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
           
 
Method Summary
 void publishAuthenticationFailure(AuthenticationException exception, Authentication authentication)
           
 void publishAuthenticationSuccess(Authentication authentication)
           
 void setAdditionalExceptionMappings(java.util.Properties additionalExceptionMappings)
          Sets additional exception to event mappings.
 void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultAuthenticationEventPublisher

public DefaultAuthenticationEventPublisher()

DefaultAuthenticationEventPublisher

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

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

public void setAdditionalExceptionMappings(java.util.Properties additionalExceptionMappings)
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.