package com.zbkj.common.vo;
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.zbkj.common.model.system.SystemAdmin;
|
import com.zbkj.common.model.system.SystemPermissions;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import java.util.ArrayList;
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* 登录用户身份权限
|
*/
|
public class LoginUserVo implements UserDetails {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 用户唯一标识
|
*/
|
private String token;
|
|
/**
|
* 登陆时间
|
*/
|
private Long loginTime;
|
|
/**
|
* 过期时间
|
*/
|
private Long expireTime;
|
|
/**
|
* 登录IP地址
|
*/
|
private String ipaddr;
|
|
/**
|
* 登录地点
|
*/
|
private String loginLocation;
|
|
/**
|
* 浏览器类型
|
*/
|
private String browser;
|
|
/**
|
* 操作系统
|
*/
|
private String os;
|
|
/**
|
* 权限列表
|
*/
|
private List<SystemPermissions> permissions;
|
|
/**
|
* 用户信息
|
*/
|
private SystemAdmin user;
|
|
public LoginUserVo() {
|
}
|
|
public LoginUserVo(SystemAdmin user, List<SystemPermissions> permissions) {
|
this.user = user;
|
this.permissions = permissions;
|
}
|
|
@Override
|
@JsonIgnore
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
List<SimpleGrantedAuthority> authorities = new ArrayList<>(permissions.size());
|
for (SystemPermissions permission : permissions) {
|
authorities.add(new SimpleGrantedAuthority(permission.getPath()));
|
}
|
return authorities;
|
}
|
|
@JsonIgnore
|
@Override
|
public String getPassword() {
|
return null;
|
}
|
|
@Override
|
public String getUsername() {
|
return null;
|
}
|
|
/**
|
* 账户是否未过期,过期无法验证
|
*/
|
@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;
|
}
|
|
|
public String getToken() {
|
return token;
|
}
|
|
public void setToken(String token) {
|
this.token = token;
|
}
|
|
public Long getLoginTime() {
|
return loginTime;
|
}
|
|
public void setLoginTime(Long loginTime) {
|
this.loginTime = loginTime;
|
}
|
|
public Long getExpireTime() {
|
return expireTime;
|
}
|
|
public void setExpireTime(Long expireTime) {
|
this.expireTime = expireTime;
|
}
|
|
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 List<SystemPermissions> getPermissions() {
|
return permissions;
|
}
|
|
public void setPermissions(List<SystemPermissions> permissions) {
|
this.permissions = permissions;
|
}
|
|
public SystemAdmin getUser() {
|
return user;
|
}
|
|
public void setUser(SystemAdmin user) {
|
this.user = user;
|
}
|
|
}
|