SecurityUtils.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. String userRole = getLoginUser().getUser().getUserRole();
  41. return "管理员".equals(userRole);
  42. }
  43. public static Long getUserId() {
  44. return getLoginUser().getUser().getId();
  45. }
  46. }