package com.ruoyi.common.core.domain.model; 
 | 
  
 | 
import java.util.Collection; 
 | 
import java.util.Set; 
 | 
import org.springframework.security.core.GrantedAuthority; 
 | 
import org.springframework.security.core.userdetails.UserDetails; 
 | 
import com.alibaba.fastjson2.annotation.JSONField; 
 | 
import com.ruoyi.common.core.domain.entity.SysUser; 
 | 
  
 | 
/** 
 | 
 * 登录用户身份权限 
 | 
 *  
 | 
 * @author ruoyi 
 | 
 */ 
 | 
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 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; 
 | 
    } 
 | 
  
 | 
    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; 
 | 
    } 
 | 
  
 | 
    @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; 
 | 
    } 
 | 
} 
 |