package org.apereo.cas.mgmt.services.audit; import org.aspectj.lang.JoinPoint; import org.apereo.cas.web.support.WebUtils; import org.apereo.inspektr.common.spi.PrincipalResolver; /** * Principal resolver for inspektr based on pac4j. * * @author Jerome Leleu * @since 4.2.0 */ public class Pac4jAuditablePrincipalResolver implements PrincipalResolver { public Pac4jAuditablePrincipalResolver() { } @Override public String resolveFrom(final JoinPoint auditableTarget, final Object retval) { return getFromSecurityContext(); } @Override public String resolveFrom(final JoinPoint auditableTarget, final Exception exception) { return getFromSecurityContext(); } @Override public String resolve() { return getFromSecurityContext(); } private static String getFromSecurityContext() { return WebUtils.getAuthenticatedUsername(); } }