Category Archives: Spring Security

Spring Security – Como validar se o usuário está realmente autenticado

E ai galera, hoje estava fazendo meu TCC e precisei fazer uma validação no JSF para ver se o usuario estava logado, ai dando uma olhada nos métodos que o spring nos disponibiliza, achei o seguinte método:

SecurityContextHolder.getContext().getAuthentication().isAuthenticated();

A princípio achei que os meus problemas estavam solucionados, porém, quando nenhum usuário se autenticou ele continua retornando true…. pesquisando descobri que ele considera que existe alguém logado do tipo Anonymous … ¬¬

então para termos um método que funciona realmente temos que fazer da seguinte maneira:

public void isAuthenticated(){
      Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
     return authentication != null && !(authentication instanceof AnonymousAuthenticationToken) && authentication.isAuthenticated();
}

Porém não sei se é a melhor maneira, pelo menos funciona 😀

Fonte: StackOverflow – noushy