package com.jcdm.common.core.domain.model;
|
|
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.jcdm.common.core.domain.entity.SysUser;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
import java.util.Collection;
|
import java.util.Set;
|
|
/**
|
* 登录用户身份权限
|
*
|
* @author jc
|
*/
|
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 SysUser user;
|
|
public LoginUser()
|
{
|
}
|
|
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 = userId;
|
this.deptId = deptId;
|
this.user = user;
|
this.permissions = permissions;
|
}
|
|
public Long getUserId()
|
{
|
return userId;
|
}
|
|
public void setUserId(Long userId)
|
{
|
this.userId = userId;
|
}
|
|
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;
|
}
|
|
@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;
|
}
|
}
|