Commit 8f9d0607ca81de5d81ef7a60e4751797d46e3164

Authored by ROGERIO CASSIMIRO DE SOUZA
1 parent 91416358
Exists in master

redmine #4583 validacao usuario ldap ao assinar

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; @@ -35,10 +35,13 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
35 import br.com.centralit.framework.util.UtilObjeto; 35 import br.com.centralit.framework.util.UtilObjeto;
36 import br.com.centralit.framework.util.UtilString; 36 import br.com.centralit.framework.util.UtilString;
37 37
38 -  
39 /** 38 /**
40 - * <p><b>Title: </b></p>  
41 - * <p><b>Description: </b></p> 39 + * <p>
  40 + * <b>Title: </b>
  41 + * </p>
  42 + * <p>
  43 + * <b>Description: </b>
  44 + * </p>
42 * <p> 45 * <p>
43 * <b>Title: </b> 46 * <b>Title: </b>
44 * </p> 47 * </p>
@@ -56,39 +59,30 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -56,39 +59,30 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
56 59
57 @Autowired 60 @Autowired
58 private AssinaturaDao assinaturaDao; 61 private AssinaturaDao assinaturaDao;
59 -  
60 62
61 @Autowired 63 @Autowired
62 private DocumentoGedService documentoGedService; 64 private DocumentoGedService documentoGedService;
63 -  
64 65
65 @Autowired 66 @Autowired
66 private UsuarioService usuarioService; 67 private UsuarioService usuarioService;
67 -  
68 68
69 @Autowired 69 @Autowired
70 private DominioService dominioService; 70 private DominioService dominioService;
71 -  
72 71
73 @Autowired 72 @Autowired
74 private FuncaoService funcaoService; 73 private FuncaoService funcaoService;
75 -  
76 74
77 @Autowired 75 @Autowired
78 private PessoaService pessoaService; 76 private PessoaService pessoaService;
79 -  
80 77
81 @Autowired 78 @Autowired
82 private HistoricoAlteracaoProcessoService historicoAlteracaoProcessoService; 79 private HistoricoAlteracaoProcessoService historicoAlteracaoProcessoService;
83 -  
84 80
85 @Autowired 81 @Autowired
86 private TarjaAssinaturaService tarjaAssinaturaService; 82 private TarjaAssinaturaService tarjaAssinaturaService;
87 -  
88 83
89 @Value("${metodo.autenticacao.ldap}") 84 @Value("${metodo.autenticacao.ldap}")
90 private String ldap; 85 private String ldap;
91 -  
92 86
93 @Value("${ldap.host.name}") 87 @Value("${ldap.host.name}")
94 public String ldapHostName; 88 public String ldapHostName;
@@ -103,12 +97,10 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -103,12 +97,10 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
103 public String ldapSearchDC; 97 public String ldapSearchDC;
104 98
105 @Autowired 99 @Autowired
106 - public AssinaturaServiceImpl( AssinaturaDao assinaturaDao) {  
107 public AssinaturaServiceImpl( AssinaturaDao assinaturaDao ) { 100 public AssinaturaServiceImpl( AssinaturaDao assinaturaDao ) {
108 101
109 this.dao = assinaturaDao; 102 this.dao = assinaturaDao;
110 } 103 }
111 -  
112 104
113 /** 105 /**
114 * Salva assinatura do documento e gera histórico 106 * Salva assinatura do documento e gera histórico
@@ -120,7 +112,7 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -120,7 +112,7 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
120 validarSenha(assinatura.getPassword(), usuario); 112 validarSenha(assinatura.getPassword(), usuario);
121 montarTransients(assinatura, usuario); 113 montarTransients(assinatura, usuario);
122 historicoAlteracaoProcessoService.gerarHistoricoAssinatura(assinatura); 114 historicoAlteracaoProcessoService.gerarHistoricoAssinatura(assinatura);
123 - tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura,assinatura.getDocumentoGed().getFormaCriacao().getCodigo()); 115 + tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura, assinatura.getDocumentoGed().getFormaCriacao().getCodigo());
124 tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura, assinatura.getDocumentoGed().getFormaCriacao().getCodigo()); 116 tarjaAssinaturaService.gerarAssinaturaInternaUsuario(assinatura, assinatura.getDocumentoGed().getFormaCriacao().getCodigo());
125 alterarEstadoDocumento(assinatura.getDocumentoGed()); 117 alterarEstadoDocumento(assinatura.getDocumentoGed());
126 return super.save(assinatura); 118 return super.save(assinatura);
@@ -133,10 +125,11 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -133,10 +125,11 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
133 * @param documentoGed 125 * @param documentoGed
134 */ 126 */
135 private void alterarEstadoDocumento(DocumentoGed documentoGed) { 127 private void alterarEstadoDocumento(DocumentoGed documentoGed) {
136 - if(documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L))  
137 128
138 if (documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L)) 129 if (documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L))
139 - documentoGed.setEstado(dominioService.findByChaveAndCodigo("estadoDocumentoGed", 2L)); 130 +
  131 + if (documentoGed.getFormaCriacao().getCodigo().equals(1L) && !documentoGed.getEstado().getCodigo().equals(2L))
  132 + documentoGed.setEstado(dominioService.findByChaveAndCodigo("estadoDocumentoGed", 2L));
140 } 133 }
141 134
142 /** 135 /**
@@ -154,7 +147,6 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -154,7 +147,6 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
154 assinatura.setTipoAssinatura(dominioService.findByChaveAndCodigo(Dominio.TIPO_ASSINATURA, Dominio.TIPO_ASSINATURA_INTERNA)); 147 assinatura.setTipoAssinatura(dominioService.findByChaveAndCodigo(Dominio.TIPO_ASSINATURA, Dominio.TIPO_ASSINATURA_INTERNA));
155 assinatura.setFuncao(funcaoService.getReference(assinatura.getFuncao().getId())); 148 assinatura.setFuncao(funcaoService.getReference(assinatura.getFuncao().getId()));
156 } 149 }
157 -  
158 150
159 /** 151 /**
160 * Método responsável por validar senha para assinar o documento 152 * Método responsável por validar senha para assinar o documento
@@ -164,24 +156,25 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -164,24 +156,25 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
164 * @param usuario 156 * @param usuario
165 */ 157 */
166 private void validarSenha(String password, Usuario usuario) { 158 private void validarSenha(String password, Usuario usuario) {
167 -  
168 - if(!UtilString.isNullOrEmpty(ldap) && ldap.equals("false")) {  
169 159
170 - if(UtilString.isNullOrEmpty(password))  
171 - if (!UtilString.isNullOrEmpty(ldap) && !Boolean.parseBoolean(ldap)) { 160 + if (!UtilString.isNullOrEmpty(ldap) && ldap.equals("false")) {
172 161
173 if (UtilString.isNullOrEmpty(password)) 162 if (UtilString.isNullOrEmpty(password))
174 - throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA", CodigoErro.REGRA_NEGOCIO.getValue(), "");  
175 -  
176 - if(!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password))) 163 + if (!UtilString.isNullOrEmpty(ldap) && !Boolean.parseBoolean(ldap)) {
  164 +
  165 + if (UtilString.isNullOrEmpty(password))
  166 + throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
  167 +
  168 + if (!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password)))
177 169
178 - if (!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password)))  
179 - throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), "");  
180 - 170 + if (!UtilObjeto.isReferencia(this.usuarioService.loadUserByUsernamePasswordMobile(usuario.getUsername(), password)))
  171 + throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
181 172
182 - } else if (!UtilString.isNullOrEmpty(ldap) && Boolean.parseBoolean(ldap)) { 173 + } else if (!UtilString.isNullOrEmpty(ldap) && Boolean.parseBoolean(ldap)) {
  174 +
  175 + autenticarMaster(password, usuario.getUsername());
  176 + }
183 177
184 - autenticarMaster(password, usuario.getUsername());  
185 } 178 }
186 } 179 }
187 180
@@ -211,11 +204,10 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -211,11 +204,10 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
211 if (autenticarUser(result.getName() + "," + ldapSearchDC, password)) { 204 if (autenticarUser(result.getName() + "," + ldapSearchDC, password)) {
212 return Boolean.TRUE; 205 return Boolean.TRUE;
213 } else { 206 } else {
214 - //TODO LDAP validação  
215 throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); 207 throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
216 } 208 }
217 } 209 }
218 - 210 +
219 } catch (AuthenticationException authEx) { 211 } catch (AuthenticationException authEx) {
220 throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); 212 throw new BusinessException("ECM.VALIDACAO.SENHA_ASSINATURA_INVALIDA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
221 } catch (NamingException namEx) { 213 } catch (NamingException namEx) {
@@ -250,7 +242,6 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -250,7 +242,6 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
250 */ 242 */
251 @Override 243 @Override
252 public Boolean validarAssinaturaPorUsuario(Long idDocumento) { 244 public Boolean validarAssinaturaPorUsuario(Long idDocumento) {
253 - return this.assinaturaDao.validarAssinaturaPorUsuario(idDocumento, ((Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId());  
254 245
255 return this.assinaturaDao.validarAssinaturaPorUsuario(idDocumento, ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId()); 246 return this.assinaturaDao.validarAssinaturaPorUsuario(idDocumento, ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getId());
256 } 247 }
@@ -260,10 +251,9 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt; @@ -260,10 +251,9 @@ public class AssinaturaServiceImpl extends GenericServiceImpl&lt;Assinatura, Long&gt;
260 251
261 Assinatura assinatura = (Assinatura) this.assinaturaDao.getReference(id); 252 Assinatura assinatura = (Assinatura) this.assinaturaDao.getReference(id);
262 assinatura.getConteudoTarja().setConteudo(tarjaAssinaturaService.decrypted(assinatura.getConteudoTarja().getConteudoCriptografado())); 253 assinatura.getConteudoTarja().setConteudo(tarjaAssinaturaService.decrypted(assinatura.getConteudoTarja().getConteudoCriptografado()));
263 - if(UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())){  
264 if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) { 254 if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) {
265 assinatura.getDocumentoGed().getConteudoTarja().setConteudo(tarjaAssinaturaService.decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado())); 255 assinatura.getDocumentoGed().getConteudoTarja().setConteudo(tarjaAssinaturaService.decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado()));
266 } 256 }
267 return assinatura; 257 return assinatura;
268 } 258 }
269 -}  
270 \ No newline at end of file 259 \ No newline at end of file
  260 +}