88 lines
2.1 KiB
Java
88 lines
2.1 KiB
Java
package com.dbnt.kcgfilemanager.model;
|
|
|
|
import lombok.*;
|
|
import org.hibernate.annotations.DynamicInsert;
|
|
import org.hibernate.annotations.DynamicUpdate;
|
|
import org.springframework.data.annotation.CreatedDate;
|
|
import org.springframework.security.core.GrantedAuthority;
|
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
|
|
import javax.persistence.*;
|
|
import java.time.LocalDateTime;
|
|
import java.util.Collection;
|
|
import java.util.Date;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
@Getter
|
|
@Setter
|
|
@Entity
|
|
@NoArgsConstructor
|
|
@DynamicInsert
|
|
@DynamicUpdate
|
|
@Table(name = "USER_INFO")
|
|
public class UserInfo extends BaseModel implements UserDetails{
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
@Column(name = "USER_SEQ")
|
|
private Integer userSeq;
|
|
@Column(name = "USER_ID")
|
|
private String userId;
|
|
@Column(name = "PASSWORD")
|
|
private String password;
|
|
@Column(name = "NAME")
|
|
private String name;
|
|
@Column(name = "POSITION")
|
|
private Integer position;
|
|
@Column(name = "DEPARTMENT")
|
|
private Integer department;
|
|
@Column(name = "USER_ROLE")
|
|
private String userRole;
|
|
@Column(name = "CREATE_DATE", updatable = false)
|
|
private LocalDateTime createDate;
|
|
@Column(name = "USER_STATUS")
|
|
private String userStatus;
|
|
|
|
@Transient
|
|
private String modifyPassword;
|
|
@Transient
|
|
private String positionName;
|
|
@Transient
|
|
private String departmentName;
|
|
|
|
@Override
|
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
|
Set<GrantedAuthority> roles = new HashSet<>();
|
|
for (String role : userRole.split(",")) {
|
|
roles.add(new SimpleGrantedAuthority(role));
|
|
}
|
|
return roles;
|
|
}
|
|
|
|
@Override
|
|
public String getUsername() {
|
|
return userId;
|
|
}
|
|
|
|
@Override
|
|
public boolean isAccountNonExpired() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isAccountNonLocked() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isCredentialsNonExpired() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isEnabled() {
|
|
return userStatus.equals("T");
|
|
}
|
|
}
|