diff --git a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java index 550caa1..952ddad 100644 --- a/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java +++ b/cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/AssinaturaServiceImpl.java @@ -35,10 +35,13 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; import br.com.centralit.framework.util.UtilObjeto; import br.com.centralit.framework.util.UtilString; - /** - *

Title:

- *

Description:

+ *

+ * Title: + *

+ *

+ * Description: + *

*

* Title: *

@@ -56,39 +59,30 @@ public class AssinaturaServiceImpl extends GenericServiceImpl @Autowired private AssinaturaDao assinaturaDao; - @Autowired private DocumentoGedService documentoGedService; - @Autowired private UsuarioService usuarioService; - @Autowired private DominioService dominioService; - @Autowired private FuncaoService funcaoService; - @Autowired private PessoaService pessoaService; - @Autowired private HistoricoAlteracaoProcessoService historicoAlteracaoProcessoService; - @Autowired private TarjaAssinaturaService tarjaAssinaturaService; - @Value("${metodo.autenticacao.ldap}") private String ldap; - @Value("${ldap.host.name}") public String ldapHostName; @@ -103,12 +97,10 @@ public class AssinaturaServiceImpl extends GenericServiceImpl public String ldapSearchDC; @Autowired - public AssinaturaServiceImpl( AssinaturaDao assinaturaDao) { public AssinaturaServiceImpl( AssinaturaDao assinaturaDao ) { this.dao = assinaturaDao; } - /** * Salva assinatura do documento e gera histórico @@ -120,7 +112,7 @@ public class AssinaturaServiceImpl extends GenericServiceImpl validarSenha(assinatura.getPassword(), usuario); montarTransients(assinatura, usuario); historicoAlteracaoProcessoService.gerarHistoricoAssinatura(assinatura); - tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura,assinatura.getDocumentoGed().getFormaCriacao().getCodigo()); + tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura, assinatura.getDocumentoGed().getFormaCriacao().getCodigo()); tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura, assinatura.getDocumentoGed().getFormaCriacao().getCodigo()); alterarEstadoDocumento(assinatura.getDocumentoGed()); return super.save(assinatura); @@ -133,10 +125,11 @@ public class AssinaturaServiceImpl extends GenericServiceImpl * @param documentoGed */ private void alterarEstadoDocumento(DocumentoGed documentoGed) { - if(documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L)) if (documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L)) - documentoGed.setEstado(dominioService.findByChaveAndCodigo("estadoDocumentoGed", 2L)); + + if (documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L)) + documentoGed.setEstado(dominioService.findByChaveAndCodigo("estadoDocumentoGed", 2L)); } /** @@ -154,7 +147,6 @@ public class AssinaturaServiceImpl extends GenericServiceImpl assinatura.setTipoAssinatura(dominioService.findByChaveAndCodigo(Dominio.TIPO_ASSINATURA, Dominio.TIPO_ASSINATURA_INTERNA)); assinatura.setFuncao(funcaoService.getReference(assinatura.getFuncao().getId())); } - /** * Método responsável por validar senha para assinar o documento @@ -164,24 +156,25 @@ public class AssinaturaServiceImpl extends GenericServiceImpl * @param usuario */ private void validarSenha(String password, Usuario usuario) { - - if(!UtilString.isNullOrEmpty(ldap) && ldap.equals("false")) { - if(UtilString.isNullOrEmpty(password)) - if (!UtilString.isNullOrEmpty(ldap) && !Boolean.parseBoolean(ldap)) { + if (!UtilString.isNullOrEmpty(ldap) && ldap.equals("false")) { if (UtilString.isNullOrEmpty(password)) - throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); - - if(!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password))) + if (!UtilString.isNullOrEmpty(ldap) && !Boolean.parseBoolean(ldap)) { + + if (UtilString.isNullOrEmpty(password)) + throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); + + if (!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password))) - if (!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password))) - throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); - + if (!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password))) + throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); - } else if (!UtilString.isNullOrEmpty(ldap) && Boolean.parseBoolean(ldap)) { + } else if (!UtilString.isNullOrEmpty(ldap) && Boolean.parseBoolean(ldap)) { + + autenticarMaster(password, usuario.getUsername()); + } - autenticarMaster(password, usuario.getUsername()); } } @@ -211,11 +204,10 @@ public class AssinaturaServiceImpl extends GenericServiceImpl if (autenticarUser(result.getName() + "," + ldapSearchDC, password)) { return Boolean.TRUE; } else { - //TODO LDAP validação throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); } } - + } catch (AuthenticationException authEx) { throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); } catch (NamingException namEx) { @@ -250,7 +242,6 @@ public class AssinaturaServiceImpl extends GenericServiceImpl */ @Override public Boolean validarAssinaturaPorUsuario(Long idDocumento) { - return this.assinaturaDao.validarAssinaturaPorUsuario(idDocumento, ((Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId()); return this.assinaturaDao.validarAssinaturaPorUsuario(idDocumento, ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId()); } @@ -260,10 +251,9 @@ public class AssinaturaServiceImpl extends GenericServiceImpl Assinatura assinatura = (Assinatura) this.assinaturaDao.getReference(id); assinatura.getConteudoTarja().setConteudo(tarjaAssinaturaService.decrypted(assinatura.getConteudoTarja().getConteudoCriptografado())); - if(UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())){ if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) { assinatura.getDocumentoGed().getConteudoTarja().setConteudo(tarjaAssinaturaService.decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado())); } return assinatura; } -} \ No newline at end of file +} -- libgit2 0.21.2