package com.ltkj.common.core.domain.model;
|
|
import java.util.Collection;
|
import java.util.Set;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.ltkj.common.core.domain.entity.SysUser;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.AllArgsConstructor;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
import com.alibaba.fastjson2.annotation.JSONField;
|
|
/**
|
* 登录用户身份权限
|
*
|
* @author ltkj
|
*/
|
@Data
|
@AllArgsConstructor
|
@NoArgsConstructor
|
public class LoginUser implements UserDetails {
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 用户ID
|
*/
|
private String 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 SysUser user;
|
|
private String message;
|
|
private String hospName;
|
|
/* */
|
|
/**
|
* 微信用户信息
|
*//*
|
private WxUser wxUser;
|
|
public LoginUser(WxUser wxUser) {
|
|
}
|
public WxUser getWxUser()
|
{
|
return wxUser;
|
}
|
|
public void setWxUser(WxUser wxUser)
|
{
|
this.wxUser = wxUser;
|
}*/
|
|
public String getHospName()
|
{
|
return hospName;
|
}
|
|
public void setHospName(String hospName)
|
{
|
this.hospName = hospName;
|
}
|
|
public String getMessage()
|
{
|
return message;
|
}
|
|
public void setMessage(String message)
|
{
|
this.message = message;
|
}
|
|
public Long getDeptId() {
|
return deptId;
|
}
|
|
public void setDeptId(Long deptId) {
|
this.deptId = deptId;
|
}
|
|
public String getToken() {
|
return token;
|
}
|
|
public void setToken(String token) {
|
this.token = token;
|
}
|
|
|
// public LoginUser(SysUser user, Set<String> permissions)
|
// {
|
// this.user = user;
|
// this.permissions = permissions;
|
// }
|
|
public LoginUser(Long userId, Long deptId, SysUser user, Set<String> permissions) {
|
this.userId = String.valueOf(userId);
|
this.deptId = deptId;
|
this.user = user;
|
this.permissions = permissions;
|
}
|
|
@JSONField(serialize = false)
|
@Override
|
public String getPassword() {
|
return user.getPassword();
|
}
|
|
@Override
|
public String getUsername() {
|
return user.getUserName();
|
}
|
|
/**
|
* 账户是否未过期,过期无法验证
|
*/
|
@JSONField(serialize = false)
|
@Override
|
public boolean isAccountNonExpired() {
|
return true;
|
}
|
|
/**
|
* 指定用户是否解锁,锁定的用户无法进行身份验证
|
*
|
* @return
|
*/
|
@JSONField(serialize = false)
|
@Override
|
public boolean isAccountNonLocked() {
|
return true;
|
}
|
|
/**
|
* 指示是否已过期的用户的凭据(密码),过期的凭据防止认证
|
*
|
* @return
|
*/
|
@JSONField(serialize = false)
|
@Override
|
public boolean isCredentialsNonExpired() {
|
return true;
|
}
|
|
/**
|
* 是否可用 ,禁用的用户不能身份验证
|
*
|
* @return
|
*/
|
@JSONField(serialize = false)
|
@Override
|
public boolean isEnabled() {
|
return true;
|
}
|
|
public Long getLoginTime() {
|
return loginTime;
|
}
|
|
public void setLoginTime(Long loginTime) {
|
this.loginTime = loginTime;
|
}
|
|
public String getIpaddr() {
|
return ipaddr;
|
}
|
|
public void setIpaddr(String ipaddr) {
|
this.ipaddr = ipaddr;
|
}
|
|
public String getLoginLocation() {
|
return loginLocation;
|
}
|
|
public void setLoginLocation(String loginLocation) {
|
this.loginLocation = loginLocation;
|
}
|
|
public String getBrowser() {
|
return browser;
|
}
|
|
public void setBrowser(String browser) {
|
this.browser = browser;
|
}
|
|
public String getOs() {
|
return os;
|
}
|
|
public void setOs(String os) {
|
this.os = os;
|
}
|
|
public Long getExpireTime() {
|
return expireTime;
|
}
|
|
public void setExpireTime(Long expireTime) {
|
this.expireTime = expireTime;
|
}
|
|
public Set<String> getPermissions() {
|
return permissions;
|
}
|
|
public void setPermissions(Set<String> permissions) {
|
this.permissions = permissions;
|
}
|
|
public SysUser getUser() {
|
return user;
|
}
|
|
public void setUser(SysUser user) {
|
this.user = user;
|
}
|
|
@Override
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
return null;
|
}
|
}
|