天天看點

SecurityContext

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;

}

}