package br.com.itexto.springforum.security; import java.util.Collection; import java.util.List; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import br.com.itexto.springforum.entidades.PermisoUsuario; import br.com.itexto.springforum.entidades.Usuario; public class SFAuthentication implements Authentication { private final Usuario usuario; private boolean autenticado; public SFAuthentication(Usuario usuario, List<PermisoUsuario> permissoes) { this.usuario = usuario; this.permissoes = permissoes; } public String getName() { return usuario != null ? usuario.getLogin() : null; } private List<PermisoUsuario> permissoes; public Collection<? extends GrantedAuthority> getAuthorities() { return permissoes; } public Object getCredentials() { return usuario != null ? usuario.getHashPassword() : null; } public Object getDetails() { return usuario; } public Object getPrincipal() { return usuario != null ? usuario.getLogin() : null; } public boolean isAuthenticated() { return this.autenticado; } public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException { this.autenticado = isAuthenticated; } }