package com.gkhy.exam.common.domain.model;
|
|
import com.gkhy.exam.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 {
|
|
private SysUser user;
|
|
private List<GrantedAuthority> authorities;
|
|
public LoginUserDetails(SysUser user,List<GrantedAuthority> authorities) {
|
this.user = user;
|
this.authorities=authorities;
|
}
|
|
|
@ApiModelProperty("生产的token,接口请求头字段: Authorization")
|
private String token;
|
|
@ApiModelProperty("浏览器类型")
|
private String browser;
|
|
@ApiModelProperty("操作系统")
|
private String os;
|
/**
|
* 权限列表
|
*/
|
private Set<String> permissions;
|
|
|
@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;
|
}
|
|
|
}
|