package com.huixinpn.dionysus.authorize.aspect; import com.huixinpn.dionysus.exception.AuthorizeException; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; @Aspect public class RepositoryAspect { private Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); @Pointcut("execution(* org.springframework.data.repository.Repository+.*(..))") private void anyRepositoryAccess() { } @Before("anyRepositoryAccess") private void generalCheck(JoinPoint jp){ /*if(!authentication.isAuthenticated()){ throw new AuthorizeException("Must login first"); }else{ String methodName = jp.getSignature().getName(); Object[] arguments = jp.getArgs(); String currentUser = authentication.getPrincipal().toString(); Long userId = (Long)authentication.getDetails(); }*/ } }