Edit entities, add security package

This commit is contained in:
Dmitrii Cravcenco
2023-09-21 12:44:43 +03:00
parent 1e9a547ffc
commit 248982d128
10 changed files with 165 additions and 64 deletions

View File

@@ -0,0 +1,59 @@
package com.faf223.expensetrackerfaf.security;
import com.faf223.expensetrackerfaf.entities.Role;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Collection;
import java.util.List;
public class PersonDetails implements UserDetails {
private final User user;
@Enumerated(EnumType.STRING)
private Role role;
public PersonDetails(User user) {
this.user = user;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return List.of(new SimpleGrantedAuthority(role.name()));
}
@Override
public String getPassword() {
return user.getPassword();
}
@Override
public String getUsername() {
return user.getUsername();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}