kcgFileManager/src/main/java/com/dbnt/kcgfilemanager/model/UserInfo.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");
}
}