com.gs.config.ItemIdBasedAuthenticationSuccessHandler.java Source code

Java tutorial

Introduction

Here is the source code for com.gs.config.ItemIdBasedAuthenticationSuccessHandler.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.gs.config;

/**
 *
 * @author SIGSA
 */
import com.sigsa.sisbc.daoimp.bandeja.MensajesBandejaDaoImp;
import com.sigsa.sisbc.utilities.ObtenerHerrDptosByUser;
import org.springframework.security.core.Authentication;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Iterator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;

public class ItemIdBasedAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler {

    @Autowired
    ObtenerHerrDptosByUser obtenerHerrDptosByUser;
    MensajesBandejaDaoImp mensajesBandejaDaoImp;
    private String defaultTargetUrl;

    public ItemIdBasedAuthenticationSuccessHandler() {
    }

    @Override
    public void setDefaultTargetUrl(String defaultTargetUrl) {
        this.defaultTargetUrl = defaultTargetUrl;
    }

    public MensajesBandejaDaoImp getMensajesBandejaDaoImp() {
        return mensajesBandejaDaoImp;
    }

    public void setMensajesBandejaDaoImp(MensajesBandejaDaoImp mensajesBandejaDaoImp) {
        this.mensajesBandejaDaoImp = mensajesBandejaDaoImp;
    }

    public void setObtenerHerrDptosByUser(ObtenerHerrDptosByUser obtenerHerrDptosByUser) {
        this.obtenerHerrDptosByUser = obtenerHerrDptosByUser;
    }

    @Override
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
            Authentication authentication) throws IOException, ServletException {
        User user = (User) authentication.getPrincipal();
        request.getSession().setAttribute("TOOLS", obtenerHerrDptosByUser.getDptoByUsername(user.getUsername()));
        for (Iterator iterator = user.getAuthorities().iterator(); iterator.hasNext();) {
            String autority = iterator.next().toString();
            //Obtengo el contexto de la direccin IP y la agrego al objeto session
            request.getSession().setAttribute("ENVIRONMENT", request.getParameter("environment"));
            if (autority.equalsIgnoreCase("ROLE_COORDINADOR") || autority.equalsIgnoreCase("ROLE_TECNICO")) {
                //Agrego el nmero de mensajes nos ledos a un atributo sesin.
                String rol = (autority.equalsIgnoreCase("ROLE_COORDINADOR") ? "ROLE_COORDINADOR" : "ROLE_TECNICO");
                request.getSession().setAttribute("NUM_MSJ_N_L",
                        mensajesBandejaDaoImp.getMensajesNoLeidosUser(user.getUsername(), rol));
                break;
            }
        }
        super.onAuthenticationSuccess(request, response, authentication);
        //            String redirectUrl = request.getContextPath() + "/";
        //            System.out.println("-----------------------------INICIO DE SESIN EXTITOSO-----------------------------");
        //            System.out.println("informacin: " + authentication.getDetails().toString());
        //            response.sendRedirect(redirectUrl);
    }
}