diff --git a/src/main/java/eu/dnetlib/uoaauthorizationlibrary/security/AuthorizationService.java b/src/main/java/eu/dnetlib/uoaauthorizationlibrary/security/AuthorizationService.java index 1c24ab7..ec4f44c 100644 --- a/src/main/java/eu/dnetlib/uoaauthorizationlibrary/security/AuthorizationService.java +++ b/src/main/java/eu/dnetlib/uoaauthorizationlibrary/security/AuthorizationService.java @@ -1,8 +1,10 @@ package eu.dnetlib.uoaauthorizationlibrary.security; +import org.apache.log4j.Logger; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -10,10 +12,13 @@ import java.util.List; @Component(value = "AuthorizationService") public class AuthorizationService { + private final Logger log = Logger.getLogger(this.getClass()); + public final String SUPER_ADMIN = "SUPER_ADMINISTRATOR"; public final String PORTAL_ADMIN = "PORTAL_ADMINISTRATOR"; public final String USER_ADMIN = "USER_MANAGER"; + public final String ANONYMOUS_USER = "ROLE_ANONYMOUS"; private String mapType(String type) { if(type.equals("organization")) { @@ -52,14 +57,26 @@ public class AuthorizationService { } public List getRoles() { - List roles = new ArrayList<>(); Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if(authentication != null) { List authorities = (List) authentication.getAuthorities(); if(authorities != null) { - authorities.forEach((authority) -> roles.add(authority.getAuthority())); + List roles = new ArrayList<>(); + authorities.forEach((authority) -> { + roles.add(authority.getAuthority()); + }); + return roles; } } - return roles; + return null; + } + + public String getAaiId() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if(authentication != null) { + User user = (User) authentication.getPrincipal(); + return user.getPassword(); + } + return null; } }