/
Hipahopa808
/
SpringCourse
Обзор
Документация
Войти
/
Hipahopa808
/
SpringCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
JWTApp/src/main/java/ru/alishev/springcourse/FirstSecurityApp/security/PersonDetails.java
62 строки
2 KB
Neil Alishev
Add JWT App
20 фев 2022, 14:54
20 фев 2022, 14:54
3ad9194
Код
Авторство
О чём код?
package ru.alishev.springcourse.FirstSecurityApp.security; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import ru.alishev.springcourse.FirstSecurityApp.models.Person; import java.util.Collection; import java.util.Collections; /** * @author Neil Alishev */ public class PersonDetails implements UserDetails { private final Person person; public PersonDetails(Person person) { this.person = person; } @Override public Collection<? extends GrantedAuthority> getAuthorities() { // SHOW_ACCOUNT, WITHDRAW_MONEY, SEND_MONEY // ROLE_ADMIN, ROLE_USER - это роли return Collections.singletonList(new SimpleGrantedAuthority(person.getRole())); } @Override public String getPassword() { return this.person.getPassword(); } @Override public String getUsername() { return this.person.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; } // Нужно, чтобы получать данные аутентифицированного пользователя public Person getPerson() { return this.person; } }