package com.gkhy.hazmat.common.domain.model;
|
|
import com.gkhy.hazmat.common.domain.entity.SysUser;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Getter;
|
import lombok.Setter;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* springSecurity需要的用户信息封装
|
*/
|
@Getter
|
@Setter
|
@ApiModel(value = "用户封装对象", description = "springSecurity用户封装对象")
|
public class LoginUserDetails implements UserDetails {
|
|
|
/**
|
* 用户ID
|
*/
|
private Long userId;
|
|
/**
|
* 部门ID
|
*/
|
private Long deptId;
|
|
|
private SysUser user;
|
|
private List<GrantedAuthority> authorities;
|
|
/**
|
* 登录IP地址
|
*/
|
private String ipaddr;
|
|
/**
|
* 登录地点
|
*/
|
private String loginLocation;
|
|
private Set<String> roles;
|
/**
|
* 权限列表
|
*/
|
private Set<String> permissions;
|
/**
|
* 登录时间
|
*/
|
private Long loginTime;
|
|
/**
|
* 过期时间
|
*/
|
private Long expireTime;
|
|
|
public LoginUserDetails(SysUser user, List<GrantedAuthority> authorities,
|
Set<String> roles, Set<String> permissions) {
|
this.user = user;
|
this.authorities = authorities;
|
this.roles = roles;
|
this.permissions = permissions;
|
}
|
|
|
@ApiModelProperty("生产的token,接口请求头字段: Authorization")
|
private String token;
|
|
@ApiModelProperty("浏览器类型")
|
private String browser;
|
|
@ApiModelProperty("操作系统")
|
private String os;
|
|
|
@Override
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
return authorities;
|
}
|
|
@Override
|
public String getPassword() {
|
return user.getPassword();
|
}
|
|
@Override
|
public String getUsername() {
|
return user.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;
|
}
|
}
|