package com.example.jz.modle.entity;
|
|
import com.example.jz.auth.UserDetailService;
|
import lombok.AllArgsConstructor;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
import lombok.experimental.Accessors;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.util.StringUtils;
|
|
import java.util.ArrayList;
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* @author 安瑾然
|
* @data 2022/7/18 - 11:00 AM
|
* @description
|
*/
|
@Data
|
@NoArgsConstructor
|
@AllArgsConstructor
|
@Accessors(chain = true)
|
public class SecurityUser implements UserDetails {
|
|
private String username;
|
private String password;
|
private List<String> permissionValueList;
|
|
@Override
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
Collection<GrantedAuthority> authorities = new ArrayList<>();
|
permissionValueList.forEach(permission -> {
|
if (!StringUtils.isEmpty(permission)) {
|
SimpleGrantedAuthority authority = new SimpleGrantedAuthority(permission);
|
authorities.add(authority);
|
}
|
});
|
return authorities;
|
}
|
|
@Override
|
public String getPassword() {
|
return this.password;
|
}
|
|
@Override
|
public String getUsername() {
|
return this.username;
|
}
|
|
@Override
|
public boolean isAccountNonExpired() {
|
return true;
|
}
|
|
@Override
|
public boolean isAccountNonLocked() {
|
return true;
|
}
|
|
@Override
|
public boolean isCredentialsNonExpired() {
|
return true;
|
}
|
|
@Override
|
public boolean isEnabled() {
|
return true;
|
}
|
}
|