diff --git a/cit-portal-api/src/main/java/br/com/centralit/api/security/GrantedAuthorityFromAssertionAttributesUserDetailsService.java b/cit-portal-api/src/main/java/br/com/centralit/api/security/GrantedAuthorityFromAssertionAttributesUserDetailsService.java index 54d2f7b..cb4b921 100644 --- a/cit-portal-api/src/main/java/br/com/centralit/api/security/GrantedAuthorityFromAssertionAttributesUserDetailsService.java +++ b/cit-portal-api/src/main/java/br/com/centralit/api/security/GrantedAuthorityFromAssertionAttributesUserDetailsService.java @@ -21,6 +21,7 @@ import br.com.centralit.api.service.UsuarioService; import br.com.centralit.framework.model.Usuario; import br.com.centralit.framework.model.UsuarioOrganizacaoItem; import br.com.centralit.framework.model.UsuarioPrivilegio; +import br.com.centralit.framework.util.UtilColecao; import br.com.centralit.framework.util.UtilObjeto; @Component @@ -55,10 +56,11 @@ public class GrantedAuthorityFromAssertionAttributesUserDetailsService extends A // VERIFICA SE JÁ EXISTE UM USUÁRIO PARA ESSE UID, CASO NÃO EXISTA CRIA UM USUÁRIO if (UtilObjeto.isReferencia(usuario)) { - - Collection roles = this.usuarioService.findRoles(usuario.getId()); - - usuario.setAuthorities(this.createAuthorityList(roles)); + + if(UtilColecao.isVazio(usuario.getAuthorities())){ + Collection roles = this.usuarioService.findRoles(usuario.getId()); + usuario.setAuthorities(this.createAuthorityList(roles)); + } return usuario; } else { @@ -84,6 +86,7 @@ public class GrantedAuthorityFromAssertionAttributesUserDetailsService extends A usuario.setLoginDB(Boolean.FALSE); usuario = usuarioService.save(usuario); + usuario.setAuthorities(this.createAuthorityList(this.usuarioService.findRoles(usuario.getId()))); LOG.info("Novo usuário salvo no banco"); return usuario; -- libgit2 0.21.2