Spring Security authenification failure event


For security reasons you need limit failure login attempts in your application, simply you can do it using counter, that updates a count in the DB. Next I will show how to handle this event in Spring Security

1) First aproach is to use AuthentificationFailureHandler:

public class AuthentificationListener implements AuthenticationFailureHandler{

class:
    @Override
    public void onAuthenticationFailure(HttpServletRequest request,
             HttpServletResponse response, AuthenticationException ae)
             throws IOException, ServletException {
            UsernamePasswordAuthenticationToken user =(UsernamePasswordAuthenticationToken)ae.getAuthentication();

         // user contains required data
          response.sendRedirect("login?error=true");
}

spring-confix.xml, need to specify authentication-failure-handler-ref bean:
    <security:http auto-config="false" use-expressions="true" access-denied-page="/denied">
        <security:intercept-url pattern="/admin/**"    access="hasRole('ROLE_ADMIN')" />
        <security:form-login  login-page="/login" authentication-failure-handler-ref="myAuthErrorHandler" default-target-url="/test/success"/>          
        <security:logout invalidate-session="true" logout-success-url="/login" logout-url="/logout" />
    </security:http>



2) Other aproach, is much more simple, you need to listen AuthenticationFailure Event:
@Component
public class UserAuthenticationErrorHandler implements ApplicationListener<AuthenticationFailureBadCredentialsEvent> {
    @Override
    public void onApplicationEvent(AuthenticationFailureBadCredentialsEvent event) {

        Object userName = event.getAuthentication().getPrincipal();
        Object credentials = event.getAuthentication().getCredentials();
        System.out.println("Failed login using USERNAME " + userName);
       System.out.println("Failed login using PASSWORD " + credentials);
    }
}

Sursa
2012-07-12 21:26:00



Comenteaza





Ultimele 25 posturi adăugate

20:08:31Polițistă la volan, la fel ca bărbații cu epoleți, sfidătoare —» Curaj.TV | Media alternativă
19:47:06Am pierdut mii de dolari pe false ”investiții”! —» Curaj.TV | Media alternativă
10:00:08Anxietatea – de la cauze și consecințe, la soluții —» Moldova Creștină
05:42:32«Новости Приднестровья» продолжают тырить —» Бессарабские хроники
00:05:00Black Friday: All of Our Deals in One Spot —» Misterioz
18:44:12Cehia. Moldovenii de peste hotare sunt „diasporă” —» Curaj.TV | Media alternativă
17:24:22Zice că l-au păcălit cu locul de muncă în Germania —» Curaj.TV | Media alternativă
14:27:05Programul ,,Opera jubiliară a anului 2022” —» Biblioteca Publică or.Rîşcani
13:26:41Infografic ,,Septembrie - nici o zi fără lectură" —» Biblioteca Publică or.Rîşcani
10:10:31A fi bun nu costă mult, dar aduce dobânzi mari! —» Moldova Creștină
18:55:30Valurile mortale din asfalt au supraviețuit două anotimpuri —» Curaj.TV | Media alternativă
18:48:59Tramvaiul răzbunător de pe ruta 11 —» Curaj.TV | Media alternativă
16:02:58Omofonele – unde punem cratima?  —» Moldova Creștină
16:00:13Ar trebui să ne doară… | Poezie de Mașa Rotaru —» Moldova Creștină
13:00:16Interviu cu Vasile Gherasimciuc, Director al Sărbătorii Speranței în Moldova (14-16 Iulie 2023) —» Moldova Creștină
10:00:14Nu ne mai pasă | Opinie Mașa Rotaru —» Moldova Creștină
21:58:36O activitate de interes maxim… —» Centrul Comunitar Instruire, Acces Informaţie Călăraşi
21:04:16Solidaritate cu revolta din Iran, protest la Oslo —» Curaj.TV | Media alternativă
20:30:36Au adus cu trenul sute de mașini noi în capitala sufocată de trafic —» Curaj.TV | Media alternativă
20:24:15Locomotivă de 55 de ani mai cară trenuri CFR —» Curaj.TV | Media alternativă
16:01:51Concurs de oferte pentru achiziționarea produselor igienice —» Asociaţia Obştească "Demos"
15:27:37Concurs de oferte pentru achiziția produselor alimentare —» Asociaţia Obştească "Demos"
12:56:46Cea mai delicioasă pizza pe tigaie —» Sunt MAMĂ!
12:40:48Aur pentru echipa de elevi și profesori de la Colegiul „Nichita Stănescu” din Ploiești —» Curaj.TV | Media alternativă
10:00:41Cumpără adevărul | Editorial Radu Blendarencu —» Moldova Creștină