Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.edu.agh.tai.model;
- import org.springframework.data.annotation.Id;
- import org.springframework.data.mongodb.core.mapping.Document;
- import org.springframework.security.core.GrantedAuthority;
- import org.springframework.security.core.authority.SimpleGrantedAuthority;
- import org.springframework.security.core.userdetails.UserDetails;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import org.springframework.security.crypto.password.PasswordEncoder;
- import org.springframework.social.security.SocialUserDetails;
- import pl.edu.agh.tai.model.enums.SignInProvider;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.List;
- @Document(collection = "users")
- public class User implements UserDetails,SocialUserDetails {
- private static PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
- @Id
- private String id;
- private String username;
- private String password;
- private String firstName;
- private String lastName;
- private String email;
- private int role;
- private boolean accountNonExpired;
- private boolean accountNonLocked;
- private boolean credentialsNonExpired;
- private boolean enabled;
- private SignInProvider signInProvider;
- public User() {
- }
- public int getRole() {
- return role;
- }
- public void setRole(int role) {
- this.role = role;
- }
- public User(String id, String username, String password, String firstName,
- String lastName,SignInProvider signInProvider) {
- this.id = id;
- this.username = username;
- this.password = passwordEncoder.encode(password);
- this.firstName = firstName;
- this.lastName = lastName;
- this.signInProvider = signInProvider;
- accountNonExpired = true;
- accountNonLocked = true;
- credentialsNonExpired = true;
- enabled = true;
- }
- public String getUsername() {
- return username;
- }
- @Override
- public boolean isAccountNonExpired() {
- return accountNonExpired;
- }
- @Override
- public boolean isAccountNonLocked() {
- return accountNonLocked;
- }
- @Override
- public boolean isCredentialsNonExpired() {
- return credentialsNonExpired;
- }
- @Override
- public boolean isEnabled() {
- return enabled;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- @Override
- public Collection<? extends GrantedAuthority> getAuthorities() {
- List<GrantedAuthority> authList = new ArrayList<GrantedAuthority>();
- if (role == 1) {
- authList.add(new SimpleGrantedAuthority("ROLE_USER"));
- authList.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
- } else if (role == 2) {
- authList.add(new SimpleGrantedAuthority("ROLE_USER"));
- }
- return authList;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public SignInProvider getSignInProvider() {
- return signInProvider;
- }
- public void setSignInProvider(SignInProvider signInProvider) {
- this.signInProvider = signInProvider;
- }
- @Override
- public String getUserId() {
- return id;
- }
- @Override
- public String toString() {
- return "First Name:" + this.firstName + " Last Name:" + this.lastName + " Username:" + this.username;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement