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(){ Long id = getLoginUser().getUser().getId(); return id != null && 1 == id; //return id != null && 1L == id || 14787164048668L == id; } public static Long getUserId() { return getLoginUser().getUser().getId(); } }