package gcom.gui.operacional; import gcom.fachada.Fachada; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.Util; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.jboss.logging.Logger; public class AcessarOperacionalServlet extends HttpServlet { private static final long serialVersionUID = -4974087860261921547L; private Logger logger = Logger.getLogger(AcessarOperacionalServlet.class); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Fachada fachada = Fachada.getInstancia(); String nomeUsuario = getNomeUsuario(request); String token = geraCodigoToken(nomeUsuario); StringBuilder builder = new StringBuilder(); builder.append("http://") .append(fachada.getInstancia().retornaIpServidorOperacional()) .append("/gsan-operacional/") .append("?usuario=").append(nomeUsuario) .append("&token=").append(token); response.sendRedirect(builder.toString()); } catch (Exception e) { logger.error("Erro ao acessar operacional", e); } } private String geraCodigoToken(String nomeUsuario) { String md5 = null; if (nomeUsuario != null){ SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd-HH"); md5 = Util.md5(nomeUsuario + formato.format(Calendar.getInstance().getTime())); } return md5; } public String getNomeUsuario(HttpServletRequest request){ HttpSession session = ((HttpServletRequest) request).getSession(false); String nomeUsuario = null; if (session != null){ Usuario usuarioLogado = (Usuario) session.getAttribute("usuarioLogado"); if (usuarioLogado != null){ nomeUsuario = String.valueOf(usuarioLogado.getId()); } } return nomeUsuario; } }