我想在每个SpringAuthentication
中使用SecurityContextHolder
来应用一些@StreamListener
,并尝试使用@Aspect
来应用。{p>
@Aspect
@Component
public class StreamListenerAuthAspect {
@Autowired
private SpringSecurityIntegrator springSecurityIntegrator;
@Pointcut("@annotation(org.springframework.cloud.stream.annotation.StreamListener)")
public void streamListener() {};
@Around("streamListener()")
public Object authenticateStreamListeners(ProceedingJoinPoint pjp) throws Throwable {
springSecurityIntegrator.authenticateCurrentThreadAsSystemUser();
return pjp.proceed();
}
}
然而,这只是最初被调用,我需要针对流侦听器在其各自线程中的每个应用程序调用它。
在特定的spring-security身份验证下执行流侦听器的惯用方式是什么?
谢谢