package com.huaweisymantec.core.service;
import java.util.Collection;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import com.huaweisymantec.omm.domain.system.RoleEnum;
public final class SecurityContext {
private SecurityContext() {
}
public static String getPrincipal() {
String username = null;
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if(authentication==null){
return null;
}
Object obj = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (obj instanceof UserDetails) {
username = ((UserDetails) obj).getUsername();
} else {
username = obj.toString();
}
return username;
}
public static boolean isAdmin() {
Object obj = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if (obj instanceof UserDetails) {
Collection<GrantedAuthority> authorities = ((UserDetails) obj).getAuthorities();
for (GrantedAuthority grantedAuthority : authorities) {
if (grantedAuthority.getAuthority().equals(RoleEnum.ROLE_ADMIN.name())) {
return true;
}
}
}
return false;
}
}