是否可以创建自定义 @Aspect 并将其应用于 Spring Security (3.0.3) 中的类/方法?
我正在尝试记录一些登录/注销请求,但我的任何建议都没有被触发。
我正在使用@AspectJ 注释,这是我装饰我的方法的方式:
@After("execution (* org.springframework.security.authentication.ProviderManager.doAuthentication(..))")
是否可以创建自定义 @Aspect 并将其应用于 Spring Security (3.0.3) 中的类/方法?
我正在尝试记录一些登录/注销请求,但我的任何建议都没有被触发。
我正在使用@AspectJ 注释,这是我装饰我的方法的方式:
@After("execution (* org.springframework.security.authentication.ProviderManager.doAuthentication(..))")
而是使用ApplicationListener
捕获成功登录。有关其他事件类型,请参阅Javadocs。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener;
import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
import org.springframework.stereotype.Component;
@Component
public class AuthenticationSuccessListener implements ApplicationListener<AuthenticationSuccessEvent> {
private static final Logger logger = LoggerFactory.getLogger(AuthenticationSuccessListener.class);
@Override
public void onApplicationEvent(final AuthenticationSuccessEvent event) {
logger.debug("User {} logged in", event.getAuthentication().getName());
}
}