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; /** * springSecurity需要的用户信息封装 */ @Getter @Setter @ApiModel(value = "用户封装对象", description = "springSecurity用户封装对象") public class LoginUserDetails implements UserDetails { private SysUser user; private List authorities; public LoginUserDetails(SysUser user,List authorities) { this.user = user; this.authorities=authorities; } @ApiModelProperty("生产的token,接口请求头字段: Authorization") private String token; @ApiModelProperty("浏览器类型") private String browser; @ApiModelProperty("操作系统") private String os; @Override public Collection 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; } }