package com.joa.backend.model; import com.joa.backend.entity.SysUser; import lombok.Data; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import java.util.Collection; import java.util.Set; @Data 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 permissions; /* 用户信息 */ private SysUser sysUser; public LoginUser() { } public LoginUser(SysUser sysUser,Set permissions) { this.sysUser = sysUser; this.permissions = permissions; } public LoginUser(Long userId,Long deptId,SysUser sysUser,Set permissions) { this.userId = userId; this.deptId = deptId; this.sysUser = sysUser; this.permissions = permissions; } @Override public Collection getAuthorities() { return null; } @Override public String getPassword() { return sysUser.getPassword(); } @Override public String getUsername() { return sysUser.getUserName(); } @Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { return true; } public SysUser getUser() { return sysUser; } }