package com.mycompany.myapp.security; import java.util.Collection; import java.util.Set; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; /** * Class representing the Spring Security authenticated user. * * @see UserDetails * */ public class CustomUserDetails implements UserDetails { private static final long serialVersionUID = 1L; private final String id; private final String password; private final String username; private final Set<GrantedAuthority> authorities; private final boolean accountNonExpired; private final boolean accountNonLocked; private final boolean credentialsNonExpired; private final boolean enabled; /** * @param id * @param username * @param password * @param authorities * @param accountNonExpired * @param accountNonLocked * @param credentialsNonExpired * @param enabled */ public CustomUserDetails(String id, String username, String password, Set<GrantedAuthority> authorities, boolean accountNonExpired, boolean accountNonLocked, boolean credentialsNonExpired, boolean enabled) { this.id = id; this.username = username; this.password = password; this.authorities = authorities; this.accountNonExpired = accountNonExpired; this.accountNonLocked = accountNonLocked; this.credentialsNonExpired = credentialsNonExpired; this.enabled = enabled; } public String getId() { return id; } @Override public Collection<? extends GrantedAuthority> getAuthorities() { return authorities; } @Override public String getPassword() { return password; } @Override public String getUsername() { return username; } @Override public boolean isAccountNonExpired() { return accountNonExpired; } @Override public boolean isAccountNonLocked() { return accountNonLocked; } @Override public boolean isCredentialsNonExpired() { return credentialsNonExpired; } @Override public boolean isEnabled() { return enabled; } public boolean isUserInRole(String authority) { return authorities.contains(new SimpleGrantedAuthority(authority)); } @Override public String toString() { return "CustomUserDetails{" + id + ',' + username + ',' + authorities + '}'; } }