SecurityUtils.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package space.anyi.BI.util;
  2. import org.springframework.security.core.Authentication;
  3. import org.springframework.security.core.context.SecurityContextHolder;
  4. import space.anyi.BI.entity.LoginUserDetails;
  5. import java.util.Objects;
  6. /**
  7. * @ProjectName: BI
  8. * @FileName: SecurityUtils
  9. * @Author: 杨逸
  10. * @Data:2024/11/28 20:42
  11. * @Description:
  12. */
  13. public class SecurityUtils {
  14. /**
  15. * 获取用户
  16. **/
  17. public static LoginUserDetails getLoginUser()
  18. {
  19. Authentication authentication = getAuthentication();
  20. if (Objects.isNull(authentication)) {
  21. return null;
  22. }
  23. Object principal = authentication.getPrincipal();
  24. if (Objects.isNull(principal)) {
  25. return null;
  26. }
  27. //匿名用户
  28. if (principal instanceof String){
  29. return null;
  30. }
  31. return (LoginUserDetails) principal;
  32. }
  33. /**
  34. * 获取Authentication
  35. */
  36. public static Authentication getAuthentication() {
  37. return SecurityContextHolder.getContext().getAuthentication();
  38. }
  39. public static Boolean isAdmin(){
  40. Long id = getLoginUser().getUser().getId();
  41. return id != null && 1 == id;
  42. //return id != null && 1L == id || 14787164048668L == id;
  43. }
  44. public static Long getUserId() {
  45. return getLoginUser().getUser().getId();
  46. }
  47. }