package com.ruoyi.common.core.domain.model;
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
import lombok.experimental.Accessors;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import java.util.Collection;
|
import java.util.Set;
|
|
/**
|
* 登录用户身份权限
|
*
|
* @author Lion Li
|
*/
|
|
@Data
|
@NoArgsConstructor
|
@Accessors(chain = true)
|
public class LoginUser implements UserDetails {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 用户ID
|
*/
|
private Long userId;
|
|
/**
|
* 部门ID
|
*/
|
private Long deptId;
|
|
/**
|
* 用户唯一标识
|
*/
|
private String token;
|
|
/**
|
* 登录时间
|
*/
|
private Long loginTime;
|
|
/**
|
* 过期时间
|
*/
|
private Long expireTime;
|
|
/**
|
* 登录IP地址
|
*/
|
private String ipaddr;
|
|
/**
|
* 登录地点
|
*/
|
private String loginLocation;
|
|
/**
|
* 浏览器类型
|
*/
|
private String browser;
|
|
/**
|
* 操作系统
|
*/
|
private String os;
|
|
/**
|
* 权限列表
|
*/
|
private Set<String> permissions;
|
|
/**
|
* 用户名
|
*/
|
private String username;
|
|
/**
|
* 密码
|
*/
|
private String password;
|
|
public LoginUser(String username, String password, Set<String> permissions) {
|
this.username = username;
|
this.password = password;
|
this.permissions = permissions;
|
}
|
|
public LoginUser(Long userId, Long deptId, String username, String password, Set<String> permissions) {
|
this.userId = userId;
|
this.deptId = deptId;
|
this.username = username;
|
this.password = password;
|
this.permissions = permissions;
|
}
|
|
@JsonIgnore
|
@Override
|
public String getPassword() {
|
return password;
|
}
|
|
@Override
|
public String getUsername() {
|
return username;
|
}
|
|
/**
|
* 账户是否未过期,过期无法验证
|
*/
|
@JsonIgnore
|
@Override
|
public boolean isAccountNonExpired() {
|
return true;
|
}
|
|
/**
|
* 指定用户是否解锁,锁定的用户无法进行身份验证
|
*/
|
@JsonIgnore
|
@Override
|
public boolean isAccountNonLocked() {
|
return true;
|
}
|
|
/**
|
* 指示是否已过期的用户的凭据(密码),过期的凭据防止认证
|
*/
|
@JsonIgnore
|
@Override
|
public boolean isCredentialsNonExpired() {
|
return true;
|
}
|
|
/**
|
* 是否可用 ,禁用的用户不能身份验证
|
*/
|
@JsonIgnore
|
@Override
|
public boolean isEnabled() {
|
return true;
|
}
|
|
@Override
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
return null;
|
}
|
}
|