Commit f34d3e53b510a8652c77a5e62be75cbece844875

Authored by erick.sato
1 parent 488ce14a
Exists in master

Redmine #5098 Correção login ldap

cit-portal-api/src/main/java/br/com/centralit/api/security/GrantedAuthorityFromAssertionAttributesUserDetailsService.java
@@ -21,6 +21,7 @@ import br.com.centralit.api.service.UsuarioService; @@ -21,6 +21,7 @@ import br.com.centralit.api.service.UsuarioService;
21 import br.com.centralit.framework.model.Usuario; 21 import br.com.centralit.framework.model.Usuario;
22 import br.com.centralit.framework.model.UsuarioOrganizacaoItem; 22 import br.com.centralit.framework.model.UsuarioOrganizacaoItem;
23 import br.com.centralit.framework.model.UsuarioPrivilegio; 23 import br.com.centralit.framework.model.UsuarioPrivilegio;
  24 +import br.com.centralit.framework.util.UtilColecao;
24 import br.com.centralit.framework.util.UtilObjeto; 25 import br.com.centralit.framework.util.UtilObjeto;
25 26
26 @Component 27 @Component
@@ -55,10 +56,11 @@ public class GrantedAuthorityFromAssertionAttributesUserDetailsService extends A @@ -55,10 +56,11 @@ public class GrantedAuthorityFromAssertionAttributesUserDetailsService extends A
55 56
56 // VERIFICA SE JÁ EXISTE UM USUÁRIO PARA ESSE UID, CASO NÃO EXISTA CRIA UM USUÁRIO 57 // VERIFICA SE JÁ EXISTE UM USUÁRIO PARA ESSE UID, CASO NÃO EXISTA CRIA UM USUÁRIO
57 if (UtilObjeto.isReferencia(usuario)) { 58 if (UtilObjeto.isReferencia(usuario)) {
58 -  
59 - Collection<String> roles = this.usuarioService.findRoles(usuario.getId());  
60 -  
61 - usuario.setAuthorities(this.createAuthorityList(roles)); 59 +
  60 + if(UtilColecao.isVazio(usuario.getAuthorities())){
  61 + Collection<String> roles = this.usuarioService.findRoles(usuario.getId());
  62 + usuario.setAuthorities(this.createAuthorityList(roles));
  63 + }
62 64
63 return usuario; 65 return usuario;
64 } else { 66 } else {
@@ -84,6 +86,7 @@ public class GrantedAuthorityFromAssertionAttributesUserDetailsService extends A @@ -84,6 +86,7 @@ public class GrantedAuthorityFromAssertionAttributesUserDetailsService extends A
84 usuario.setLoginDB(Boolean.FALSE); 86 usuario.setLoginDB(Boolean.FALSE);
85 87
86 usuario = usuarioService.save(usuario); 88 usuario = usuarioService.save(usuario);
  89 + usuario.setAuthorities(this.createAuthorityList(this.usuarioService.findRoles(usuario.getId())));
87 LOG.info("Novo usuário salvo no banco"); 90 LOG.info("Novo usuário salvo no banco");
88 91
89 return usuario; 92 return usuario;