Example usage for org.springframework.security.core AuthenticationException getClass

List of usage examples for org.springframework.security.core AuthenticationException getClass

Introduction

In this page you can find the example usage for org.springframework.security.core AuthenticationException getClass.

Prototype

@HotSpotIntrinsicCandidate
public final native Class<?> getClass();

Source Link

Document

Returns the runtime class of this Object .

Usage

From source file:ph.fingra.statisticsweb.security.FingraphAuthenticationFailureHandler.java

@SuppressWarnings("deprecation")
@Override//from   w  w w  . j  a va2s . com
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
        AuthenticationException exception) throws IOException, ServletException {

    if (exception.getClass().isAssignableFrom(UnverifiedUserException.class)) {
        System.out.println(exception.getExtraInformation());
        getRedirectStrategy().sendRedirect(request, response,
                "/login/unverified?email=" + exception.getAuthentication().getName() + "&status="
                        + ((FingraphUser) exception.getExtraInformation()).getStatus());
    } else if (exception.getClass().isAssignableFrom(PasswordMissmatchUserException.class)) {
        System.out.println(exception.getExtraInformation());
        getRedirectStrategy().sendRedirect(request, response, "/login/form?error=100");
    } else if (exception.getClass().isAssignableFrom(UnapprovalUserException.class)) {
        System.out.println(exception.getExtraInformation());
        getRedirectStrategy().sendRedirect(request, response, "/login/form?error=200");
    } else {
        super.onAuthenticationFailure(request, response, exception);
    }
}

From source file:com.rockagen.gnext.service.spring.security.extension.BasicUrlAuthenticationFailureHandler.java

/**
 * Override {@link #onAuthenticationFailure} implements locked user
 * //from ww  w.  ja  va 2 s.com
 * @see org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler#onAuthenticationFailure(javax.servlet.http.HttpServletRequest,
 *      javax.servlet.http.HttpServletResponse,
 *      org.springframework.security.core.AuthenticationException)
 */
@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
        AuthenticationException exception) throws IOException, ServletException {
    if (exception.getClass().equals(BadCredentialsException.class)) {
        exception = handlerLocked(request.getParameter(usernameParameter));
    }
    super.onAuthenticationFailure(request, response, exception);

}

From source file:com.app.inventario.seguridad.CustomAuthenticationFailureHandler.java

@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
        AuthenticationException exception) throws IOException, ServletException {
    super.onAuthenticationFailure(request, response, exception);

    String username = (String) exception.getAuthentication().getPrincipal();
    this.intentosLoginServicio = new IntentosLoginServicioImpl();
    if (exception.getClass().isAssignableFrom(UsernameNotFoundException.class)) {
        System.out.println("Usuario no encontrado");
    } else if (exception.getClass().isAssignableFrom(DisabledException.class)) {
        System.out.println("Usuario Deshabilitado");
    } else if (exception.getClass().isAssignableFrom(LockedException.class)) {
        System.out.println("Usuario Bloqueado");
    } else if (exception.getClass().isAssignableFrom(BadCredentialsException.class)) {
        intentosLoginServicio.actualizarIntentosFallidos(username);
        System.out.println("Contrasea Incorrecta");
    } else if (exception.getClass().isAssignableFrom(CredentialsExpiredException.class)) {
        System.out.println("Contrasea expirada");
    }/*from w ww.  j ava 2s  . c  om*/
}

From source file:de.itsvs.cwtrpc.security.SimpleRpcAuthenticationFailureHandler.java

@Override
public Exception lookupRemoteExceptionFor(HttpServletRequest request, AuthenticationException exception) {
    Class<? extends Exception> remoteExceptionClass = null;

    if (getExceptionClassMappings() != null) {
        final Class<? extends AuthenticationException> exceptionClass;

        exceptionClass = exception.getClass();
        for (Map.Entry<Class<? extends AuthenticationException>, Class<? extends Exception>> entry : getExceptionClassMappings()
                .entrySet()) {/*from   w w  w.  j  a  va2  s  .  c om*/
            if (entry.getKey().isAssignableFrom(exceptionClass)) {
                if (log.isDebugEnabled()) {
                    log.debug("Exception mapping for class " + exceptionClass.getName() + " is: "
                            + entry.getValue().getName());
                }
                remoteExceptionClass = entry.getValue();
                break;
            }
        }
    }
    if (remoteExceptionClass == null) {
        if (log.isDebugEnabled()) {
            log.debug("Exception mapping does not contain mapping for class " + exception.getClass().getName()
                    + ", using default: " + getDefaultExceptionClass().getName());
        }
        remoteExceptionClass = getDefaultExceptionClass();
    }

    return createRemoteException(request, exception, remoteExceptionClass);
}

From source file:de.itsvs.cwtrpc.security.DefaultRpcAuthenticationFailureHandler.java

@Override
public Exception lookupRemoteExceptionFor(HttpServletRequest request, AuthenticationException exception) {
    Expression remoteExceptionExpression = null;
    Exception remoteException = null;

    if (getExceptionExpressionMappings() != null) {
        final Class<? extends AuthenticationException> exceptionClass;

        exceptionClass = exception.getClass();
        for (Map.Entry<Class<? extends AuthenticationException>, Expression> entry : getExceptionExpressionMappings()
                .entrySet()) {// www . ja v a 2  s .co  m
            if (entry.getKey().isAssignableFrom(exceptionClass)) {
                if (log.isDebugEnabled()) {
                    log.debug("Exception mapping for class " + exceptionClass.getName() + " is: "
                            + entry.getValue().getExpressionString());
                }
                remoteExceptionExpression = entry.getValue();
                break;
            }
        }
    }
    if (remoteExceptionExpression == null) {
        if (log.isDebugEnabled()) {
            log.debug("Exception mapping does not contain mapping for class " + exception.getClass().getName()
                    + ", using default: " + getDefaultExceptionExpression().getExpressionString());
        }
        remoteExceptionExpression = getDefaultExceptionExpression();
    }

    try {
        remoteException = remoteExceptionExpression.getValue(createEvaluationContext(request, exception),
                Exception.class);
    } catch (EvaluationException e) {
        log.error("Could not create remote exception from expression: "
                + remoteExceptionExpression.getExpressionString(), e);
        remoteException = null;
    }
    return remoteException;
}

From source file:com.cruz.sec.config.ItemBasedAuthenticationFailureHandler.java

@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
        AuthenticationException exception) throws IOException, ServletException {
    UsernamePasswordAuthenticationToken user = (UsernamePasswordAuthenticationToken) exception
            .getAuthentication();/*ww  w  .j a  va2  s.c om*/
    System.out.println("Mensaje del error: " + exception.getMessage());
    //        PrincipalsessionInformaction user = request.getUserPrincipal();
    System.out.println("-----------------------------INTENTO FALLIDO-----------------------------");

    //Causas de la autenticacin fallida
    if (exception.getClass().isAssignableFrom(UsernameNotFoundException.class)) {
        System.out.println("INTENTO FALLIDO: El usuario no est registrado en la base de datos ");
        request.setAttribute("ERRORSESSION", "Usuario no registrado, verifique con el administrador");
        request.getRequestDispatcher("/login").forward(request, response);
        //response.sendRedirect("login?err=1");
    } else if (exception.getClass().isAssignableFrom(BadCredentialsException.class)) {
        System.out.println("INTENTO FALLIDO: Creedenciales erroneas");
        request.setAttribute("ERRORSESSION", "Contrasea incorrecta, intente nuevamente");
        request.getRequestDispatcher("/login").forward(request, response);
    } else if (exception.getClass().isAssignableFrom(DisabledException.class)) {
        System.out.println("INTENTO FALLIDO: Usuario desabilitado");
        request.setAttribute("ERRORSESSION", "Usuario deshabilitado, verifique con el administrador");
        request.getRequestDispatcher("/login").forward(request, response);
    } else if (exception.getClass().isAssignableFrom(SessionAuthenticationException.class)) {
        System.out.println("INTENTO FALLIDO: Usuario ya logeado");
        request.setAttribute("ERRORSESSION", "Ya existe una sesi&oacute;n abierta con este usuario");
        request.getRequestDispatcher("/login").forward(request, response);
    } else {
        System.out.println("INTENTO FALLIDO: NO SE QUE PASO");
        request.setAttribute("ERRORSESSION", "No ha sido posible iniciar sesi&oacute;n");
        request.getRequestDispatcher("/login").forward(request, response);
    }
}

From source file:com.gs.config.ItemBasedAuthenticationFailureHandler.java

@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
        AuthenticationException exception) throws IOException, ServletException {
    UsernamePasswordAuthenticationToken user = (UsernamePasswordAuthenticationToken) exception
            .getAuthentication();//  ww  w .  j  a  v a2s  . c  o m
    //System.out.println("Mensaje del error: "+exception.getMessage());
    //        PrincipalsessionInformaction user = request.getUserPrincipal();
    System.out.println("-----------------------------INTENTO FALLIDO-----------------------------");

    //Causas de la autenticacin fallida
    if (exception.getClass().isAssignableFrom(UsernameNotFoundException.class)) {
        //            System.out.println("INTENTO FALLIDO: El usuario no est registrado en la base de datos ");
        request.setAttribute("ERRORSESSION", "Usuario no registrado, verifique con el administrador");
        request.getRequestDispatcher("login?err=1").forward(request, response);
        //response.sendRedirect("login?err=1");
    } else if (exception.getClass().isAssignableFrom(BadCredentialsException.class)) {
        sessionFailDaoImp.insertUserSessionFail(user.getName(), request.getLocalAddr());
        usuarioConIntentoFallido.addIntentoUsuario(user.getName());
        //            System.out.println("INTENTO FALLIDO: Creedenciales erroneas");
        request.setAttribute("ERRORSESSION", "Contrasea incorrecta, intente nuevamente");
        request.getRequestDispatcher("login?err=1").forward(request, response);
        //response.sendRedirect("login?err=2");
    } else if (exception.getClass().isAssignableFrom(DisabledException.class)) {
        //            System.out.println("INTENTO FALLIDO: Usuario desabilitado");
        request.setAttribute("ERRORSESSION", "Usuario deshabilitado, verifique con el administrador");
        request.getRequestDispatcher("login?err=1").forward(request, response);
        //response.sendRedirect("login?err=3");
    } else if (exception.getClass().isAssignableFrom(SessionAuthenticationException.class)) {
        //            System.out.println("INTENTO FALLIDO: Usuario ya logeado");
        request.setAttribute("ERRORSESSION", "Ya existe una sesin abierta con este usuario");
        request.getRequestDispatcher("login?err=1").forward(request, response);
        //response.sendRedirect("login?err=4");
    } else if (exception.getClass().isAssignableFrom(IntentLimitExceeded.class)) {
        //            System.out.println("INTENTO FALLIDO: NMERO DE INTENTOS EXCEDIDOS");
        //Elimino al usuario de la listo de los intentos y se agrega a la lista de usuarios bloqueados
        usuarioConIntentoFallido.removeUsuario(user.getName());
        //Se crea el hilo para desbloquear al usuario
        listUsersLockoutIntentFail.addBlockUserFail(user.getName(), tiempoLockout);
        //request.setAttribute("ERRORSESSION", "Ha excedido el lmite de intentos. Por favor espere unos minutos e intente nuevamente");
        request.getRequestDispatcher("intentlimit").forward(request, response);
    } else {
        //            System.out.println("INTENTO FALLIDO: NO SE QUE PASO");
        request.setAttribute("ERRORSESSION", "No ha sido posible iniciar sesin");
        request.getRequestDispatcher("login?err=1").forward(request, response);
    }
}

From source file:nl.surfnet.mujina.saml.xml.AuthnResponseGenerator.java

public Response generateAuthnResponseFailure(String recepientAssertionConsumerURL, String inResponseTo,
        AuthenticationException ae) {

    ResponseBuilder responseBuilder = (ResponseBuilder) builderFactory
            .getBuilder(Response.DEFAULT_ELEMENT_NAME);
    Response authResponse = responseBuilder.buildObject();

    Issuer responseIssuer = issuerGenerator.generateIssuer();

    authResponse.setIssuer(responseIssuer);
    authResponse.setID(idService.generateID());
    authResponse.setIssueInstant(timeService.getCurrentDateTime());
    authResponse.setInResponseTo(inResponseTo);
    authResponse.setDestination(recepientAssertionConsumerURL);
    authResponse.setStatus(statusGenerator.generateStatus(StatusCode.RESPONDER_URI, StatusCode.AUTHN_FAILED_URI,
            ae.getClass().getName()));

    return authResponse;

}

From source file:nl.surfnet.mujina.spring.RealAuthenticationFailureHandler.java

@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
        AuthenticationException authenticationException) throws IOException, ServletException {
    logger.debug("commencing RealAuthenticationFailureHandler because of {}",
            authenticationException.getClass());

    AuthnRequestInfo authnRequestInfo = (AuthnRequestInfo) request.getSession()
            .getAttribute(AuthnRequestInfo.class.getName());

    if (authnRequestInfo == null) {
        logger.warn(//from  w ww  .  ja va  2  s.  com
                "Could not find AuthnRequestInfo on the request.  Delegating to nonSSOAuthnFailureHandler.");
        nonSSOAuthnFailureHandler.onAuthenticationFailure(request, response, authenticationException);
        return;
    }

    logger.debug("AuthnRequestInfo is {}", authnRequestInfo);

    request.getSession().setAttribute(WebAttributes.AUTHENTICATION_EXCEPTION, authenticationException);

    CriteriaSet criteriaSet = new CriteriaSet();
    criteriaSet.add(new EntityIDCriteria(idpConfiguration.getEntityID()));
    criteriaSet.add(new UsageCriteria(UsageType.SIGNING));

    Credential signingCredential = null;
    try {
        signingCredential = credentialResolver.resolveSingle(criteriaSet);
    } catch (org.opensaml.xml.security.SecurityException e) {
        logger.warn("Unable to resolve signing credential for entityId", e);
        return;
    }
    Validate.notNull(signingCredential);

    AuthnResponseGenerator authnResponseGenerator = new AuthnResponseGenerator(signingCredential,
            idpConfiguration.getEntityID(), timeService, idService, idpConfiguration);
    EndpointGenerator endpointGenerator = new EndpointGenerator();

    String acsEndpointURL = authnRequestInfo.getAssertionConsumerURL();
    if (idpConfiguration.getAcsEndpoint() != null) {
        acsEndpointURL = idpConfiguration.getAcsEndpoint().getUrl();
    }

    Response authResponse = authnResponseGenerator.generateAuthnResponseFailure(acsEndpointURL,
            authnRequestInfo.getAuthnRequestID(), authenticationException);
    Endpoint endpoint = endpointGenerator.generateEndpoint(AssertionConsumerService.DEFAULT_ELEMENT_NAME,
            acsEndpointURL, null);

    request.getSession().removeAttribute(AuthnRequestInfo.class.getName());

    String relayState = request.getParameter("RelayState");
    try {
        bindingAdapter.sendSAMLMessage(authResponse, endpoint, response, relayState, signingCredential);
    } catch (MessageEncodingException mee) {
        logger.error("Exception encoding SAML message", mee);
        response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
    }
}

From source file:org.cloudfoundry.identity.uaa.authentication.manager.ChainedAuthenticationManager.java

@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
    if (authentication == null) {
        return authentication;
    }//from   w  w w. java  2s  .c o  m
    UsernamePasswordAuthenticationToken output = null;
    if (authentication instanceof UsernamePasswordAuthenticationToken) {
        output = (UsernamePasswordAuthenticationToken) authentication;
    } else {
        output = new UsernamePasswordAuthenticationToken(authentication.getPrincipal(),
                authentication.getCredentials(), authentication.getAuthorities());
        output.setDetails(authentication.getDetails());
    }
    boolean authenticated = false;
    Authentication auth = null;
    AuthenticationException lastException = null;
    boolean lastResult = false;
    boolean shallContinue = true;
    if (delegates == null || delegates.length == 0) {
        throw new ProviderNotFoundException("No available authentication providers.");
    }
    for (int i = 0; shallContinue && i < delegates.length; i++) {

        boolean shallAuthenticate = (i == 0)
                || (lastResult && IF_PREVIOUS_TRUE.equals(delegates[i].getRequired()))
                || ((!lastResult) && IF_PREVIOUS_FALSE.equals(delegates[i].getRequired()));

        if (shallAuthenticate) {
            if (logger.isDebugEnabled()) {
                logger.debug("Attempting chained authentication of " + output + " with manager:"
                        + delegates[i].getAuthenticationManager() + " required:" + delegates[i].getRequired());
            }
            Authentication thisAuth = null;
            try {
                thisAuth = delegates[i].getAuthenticationManager().authenticate(auth != null ? auth : output);
            } catch (AuthenticationException x) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Chained authentication exception:" + x.getMessage() + " at:"
                            + (x.getStackTrace().length > 0 ? x.getStackTrace()[0] : "(no stack trace)"));
                }
                lastException = x;
                if (delegates[i].getStopIf() != null) {
                    for (Class<? extends AuthenticationException> exceptionClass : delegates[i].getStopIf()) {
                        if (exceptionClass.isAssignableFrom(x.getClass())) {
                            shallContinue = false;
                            break;
                        }
                    }
                }
            }
            lastResult = thisAuth != null && thisAuth.isAuthenticated();

            if (lastResult) {
                authenticated = true;
                auth = thisAuth;
            } else {
                authenticated = false;
                auth = null;
            }

        } else {
            shallContinue = false;
        }
        if (logger.isDebugEnabled()) {
            logger.debug("Chained Authentication status of " + output + " with manager:" + delegates[i]
                    + "; Authenticated:" + authenticated);
        }
    }
    if (authenticated) {
        return auth;
    } else if (lastException != null) {
        //we had at least one authentication exception, throw it
        throw lastException;
    } else {
        //not authenticated, but return the last of the result
        return auth;
    }
}