package space.anyi.BI.util; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import space.anyi.BI.entity.LoginUserDetails; import java.util.Objects; /** * @ProjectName: BI * @FileName: SecurityUtils * @Author: 杨逸 * @Data:2024/11/28 20:42 * @Description: */ public class SecurityUtils { /** * 获取用户 **/ public static LoginUserDetails getLoginUser() { Authentication authentication = getAuthentication(); if (Objects.isNull(authentication)) { return null; } Object principal = authentication.getPrincipal(); if (Objects.isNull(principal)) { return null; } //匿名用户 if (principal instanceof String){ return null; } return (LoginUserDetails) principal; } /** * 获取Authentication */ public static Authentication getAuthentication() { return SecurityContextHolder.getContext().getAuthentication(); } public static Boolean isAdmin(){ String userRole = getLoginUser().getUser().getUserRole(); return "管理员".equals(userRole); } public static Long getUserId() { return getLoginUser().getUser().getId(); } }