package com.common.security.configure;
|
|
import com.deloitte.system.model.AppConfig;
|
import com.deloitte.system.model.AppPermissionConfig;
|
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
import org.springframework.security.core.userdetails.UserDetails;
|
import java.util.Collection;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author 廖振钦
|
* @date 2022-01-17
|
*/
|
public class AppDetails implements UserDetails {
|
|
private AppConfig appConfig;
|
|
private String userid;
|
|
public AppDetails(AppConfig appConfig){
|
this.appConfig = appConfig;
|
}
|
|
@Override
|
public Collection<? extends GrantedAuthority> getAuthorities() {
|
return AppPermissionConfig.dao.findByAppidList(appConfig.appid()).stream()
|
.filter(app -> app.url() != null)
|
.map(app -> new SimpleGrantedAuthority(app.url()))
|
.collect(Collectors.toList());
|
}
|
|
@Override
|
public String getPassword() {
|
return appConfig.appsecret();
|
}
|
|
@Override
|
public String getUsername() {
|
return appConfig.appid();
|
}
|
|
public void setUserid(String userid){
|
this.userid = userid;
|
}
|
|
public String getUserid(){
|
return userid;
|
}
|
|
|
|
@Override
|
public boolean isAccountNonExpired() {
|
return true;
|
}
|
|
@Override
|
public boolean isAccountNonLocked() {
|
return true;
|
}
|
|
@Override
|
public boolean isCredentialsNonExpired() {
|
return true;
|
}
|
|
@Override
|
public boolean isEnabled() {
|
return true;
|
}
|
}
|