SecurityUtils.java 932 B

123456789101112131415161718192021222324
  1. package com.izouma.nineth.utils;
  2. import com.izouma.nineth.domain.User;
  3. import com.izouma.nineth.enums.AuthorityName;
  4. import com.izouma.nineth.security.JwtUser;
  5. import org.springframework.security.core.Authentication;
  6. import org.springframework.security.core.context.SecurityContextHolder;
  7. public class SecurityUtils {
  8. public static User getAuthenticatedUser() {
  9. Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
  10. User user = null;
  11. if (authentication != null && authentication.getPrincipal() instanceof JwtUser) {
  12. user = ((JwtUser) authentication.getPrincipal()).getUser();
  13. }
  14. return user;
  15. }
  16. public static boolean hasRole(AuthorityName name) {
  17. User user = getAuthenticatedUser();
  18. if (null == user) return false;
  19. return user.getAuthorities().stream().anyMatch(a -> a.getName().equals(name.name()));
  20. }
  21. }