From 141fdfd68195b3e07abda1b5ee376ba11c1db3f5 Mon Sep 17 00:00:00 2001 From: gibransodre Date: Thu, 13 Oct 2016 11:25:21 -0300 Subject: [PATCH] Confirmação de usuario autorizado a gerar códigoHash. --- WebContent/WEB-INF/jsp/questionario/questionario.jsp | 2 ++ src/br/com/controller/QuestionarioController.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------- src/br/com/dao/AutorizacaoGeracaoHashDao.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 119 insertions(+), 47 deletions(-) create mode 100644 src/br/com/dao/AutorizacaoGeracaoHashDao.java diff --git a/WebContent/WEB-INF/jsp/questionario/questionario.jsp b/WebContent/WEB-INF/jsp/questionario/questionario.jsp index ddca076..402b2bb 100644 --- a/WebContent/WEB-INF/jsp/questionario/questionario.jsp +++ b/WebContent/WEB-INF/jsp/questionario/questionario.jsp @@ -15,6 +15,8 @@
Questionário + +



diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java index 2227fb9..5147bf6 100644 --- a/src/br/com/controller/QuestionarioController.java +++ b/src/br/com/controller/QuestionarioController.java @@ -12,6 +12,7 @@ import br.com.caelum.vraptor.Result; import br.com.caelum.vraptor.Validator; import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; import br.com.caelum.vraptor.validator.ValidationMessage; +import br.com.dao.AutorizacaoGeracaoHashDao; import br.com.dao.QuestionarioDao; import br.com.model.entity.Contato; import br.com.model.entity.EnvioEmailSemAutenticacao; @@ -45,65 +46,83 @@ public class QuestionarioController { } @Path("/confirmacaoHash") - public void confirmacaoHash(String mensagemEnvio){ - result.include("mensagemEnvio", mensagemEnvio); + public void confirmacaoHash(){ + } @Path("/salvar-questionario") - public void questionarioSalvar(String emailDestinoOrgao, UploadedFile file, String noOrgao) { - String[] codigo = emailDestinoOrgao.split("@"); - String codigoHash = codigo[0] + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "").replace(":", ""); - - String mensagemEnvio = ""; - Questionario questionario = new Questionario(); - // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile())); - - ManagerProperties managerProperties = new ManagerProperties(); + public void questionarioSalvar(String autorizacao, String emailDestinoOrgao, UploadedFile file, String noOrgao) { + - String dtInicioQuestionario = ""; - String dtFimQuestionario = ""; - String hashAutenticacao = null; + AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); + String mensagemEnvio = ""; - try { - Properties prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/intervaloRespostaFormulario.properties"); + if(autorizacaoGeracaoHashDao.verificarAutorizacaoGeracaoHash(path, autorizacao)) + { + String[] codigo = emailDestinoOrgao.split("@"); + String codigoHash = codigo[0] + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "").replace(":", ""); + - dtInicioQuestionario = prop.getProperty("dataInicio"); - dtFimQuestionario = prop.getProperty("dataFim"); - hashAutenticacao = GeradorCodigoHash.gerarHash(questionario.getHashAutenticacao()); + Questionario questionario = new Questionario(); + // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile())); + + ManagerProperties managerProperties = new ManagerProperties(); + + String dtInicioQuestionario = ""; + String dtFimQuestionario = ""; + String hashAutenticacao = null; + + try { + Properties prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/intervaloRespostaFormulario.properties"); + + dtInicioQuestionario = prop.getProperty("dataInicio"); + dtFimQuestionario = prop.getProperty("dataFim"); + hashAutenticacao = GeradorCodigoHash.gerarHash(questionario.getHashAutenticacao()); + + } catch (IOException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { - } catch (IOException e) { e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - - e.printStackTrace(); - } - - questionario.setDtInicioQuestionario(dtInicioQuestionario); - questionario.setDtFimQuestionario(dtFimQuestionario); - questionario.setEmailDestinoOrgao(emailDestinoOrgao); - questionario.setHashAutenticacao(hashAutenticacao); - questionario.setNoOrgao(noOrgao); - - QuestionarioDao questionarioDao = new QuestionarioDao(); - - if (questionarioDao.salvarQuestionario(path, file.getFile(), questionario)) { - Contato contato = new Contato(); - contato.setEmail(emailDestinoOrgao); - contato.setAssunto("assunto"); - contato.setMensagem("Código Hash:" + hashAutenticacao); - contato.setNome("nome"); - - if(enviarHashPorEmail(contato)) - { - mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; - }else - { - mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; + } + + questionario.setDtInicioQuestionario(dtInicioQuestionario); + questionario.setDtFimQuestionario(dtFimQuestionario); + questionario.setEmailDestinoOrgao(emailDestinoOrgao); + questionario.setHashAutenticacao(hashAutenticacao); + questionario.setNoOrgao(noOrgao); + + QuestionarioDao questionarioDao = new QuestionarioDao(); + + if (questionarioDao.salvarQuestionario(path, file.getFile(), questionario)) { + Contato contato = new Contato(); + contato.setEmail(emailDestinoOrgao); + contato.setAssunto("assunto"); + contato.setMensagem("Código Hash:" + hashAutenticacao); + contato.setNome("nome"); + + if(enviarHashPorEmail(contato)) + { + mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; + }else + { + mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; + } + result.include("mensagemEnvio", mensagemEnvio); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(); } + } + else + { + mensagemEnvio = "É preciso autorização para salvar gerar código Hash!"; + result.include("mensagemEnvio", mensagemEnvio); this.validator.add(new ValidationMessage("", "")); - this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(mensagemEnvio); + this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(); } + + } /* diff --git a/src/br/com/dao/AutorizacaoGeracaoHashDao.java b/src/br/com/dao/AutorizacaoGeracaoHashDao.java new file mode 100644 index 0000000..90fd154 --- /dev/null +++ b/src/br/com/dao/AutorizacaoGeracaoHashDao.java @@ -0,0 +1,51 @@ +package br.com.dao; + +import java.security.NoSuchAlgorithmException; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import br.com.model.entity.Questionario; +import br.com.util.DateUtil; +import br.com.util.GeradorCodigoHash; + +public class AutorizacaoGeracaoHashDao { + + public boolean verificarAutorizacaoGeracaoHash(String path, String senha) { + + String sql = ""; + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + boolean usuarioAutorizado = false; + try { + + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql = "SELECT usuario_ativo FROM public.autorizacao_geracao_hash where senha_autorizacao = '"+ senha +"' and usuario_ativo = true;"; + + rset = estado.executeQuery(sql); + + while (rset.next()) { + usuarioAutorizado = true; + } + + } catch (SQLException e) { + System.out.println("Deu erro!"); + e.printStackTrace(); + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + return usuarioAutorizado; + } +} -- libgit2 0.21.2