package org.fuzzydb.samples.security; import java.util.Collection; import java.util.Collections; import org.springframework.data.annotation.Id; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; public class WhirlwindUserDetails extends User { private static final long serialVersionUID = 1L; @SuppressWarnings("unused") @Id private String email; private String firstName; private String lastName; public WhirlwindUserDetails(String username, String password, String firstName, String lastName, Collection<? extends GrantedAuthority> authorities) { super(username, password, true, true, true, true, authorities); email = username; this.firstName = firstName; this.lastName = lastName; } public WhirlwindUserDetails(String username, String password, String firstName, String lastName) { this(username, password, null, null, Collections.singletonList(new SimpleGrantedAuthority("USER")) ); } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } static public WhirlwindUserDetails createEnabledUser(String email, String password) { WhirlwindUserDetails userDetails = new WhirlwindUserDetails(email, password, null, null); return userDetails; } }