package net.petrikainulainen.spring.datasolr.security.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; /** * @author Petri Kainulainen */ @Component public class SecurityContextUtil { private static final Logger LOGGER = LoggerFactory.getLogger(SecurityContextUtil.class); public UserDetails getPrincipal() { LOGGER.debug("Getting principal from the security context"); UserDetails principal = null; Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if (authentication != null) { Object currentPrincipal = authentication.getPrincipal(); if (currentPrincipal instanceof UserDetails) { principal = (UserDetails) currentPrincipal; } } return principal; } }