forked from NeilAlishev/SpringCourse
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPersonDetails.java
More file actions
62 lines (50 loc) · 1.55 KB
/
PersonDetails.java
File metadata and controls
62 lines (50 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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;
}
}