58 lines
1.3 KiB
Java
58 lines
1.3 KiB
Java
package com.faf223.expensetrackerfaf.security;
|
|
|
|
import com.faf223.expensetrackerfaf.model.Credential;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
import org.springframework.security.core.GrantedAuthority;
|
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
|
|
import java.util.Collection;
|
|
import java.util.Collections;
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor(force = true)
|
|
@AllArgsConstructor
|
|
public class PersonDetails implements UserDetails {
|
|
|
|
private final Credential credential;
|
|
|
|
@Override
|
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
|
return Collections.singletonList(new SimpleGrantedAuthority(credential.getRole().toString()));
|
|
}
|
|
|
|
@Override
|
|
public String getPassword() {
|
|
return credential.getPassword();
|
|
}
|
|
|
|
@Override
|
|
public String getUsername() {
|
|
return credential.getEmail();
|
|
}
|
|
|
|
@Override
|
|
public boolean isAccountNonExpired() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isAccountNonLocked() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isCredentialsNonExpired() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isEnabled() {
|
|
return true;
|
|
}
|
|
}
|