我只是通过实现 ApplicationListener
创建一个监听器。
代码如下:
public class SessionCreationEventListener implements ApplicationListener{
public void onApplicationEvent(SessionCreationEvent appEvent) {
SessionCreationEvent event = (SessionCreationEvent) appEvent;
//Object obj = null;
//UserInfo userInfo = null;
event.getSource();
}
}
但是,无法调用此监听。我在调用监听器时哪里错了。
最佳答案
在 web.xml 文件中添加此监听器
<listener>
<listener-class>
org.springframework.security.web.session.HttpSessionEventPublisher
</listener-class>
</listener>
在一个简单的应用程序中,解决方案是添加一个 HttpSessionListener。 因此,在我的 web.xml 中:
<listener>
<listener-class>com.web.SessionCounter</listener-class>
</listener>
public class SessionCounter implements HttpSessionListener {
private int counter = 0;
@Override
public void sessionCreated(HttpSessionEvent event) {
counter++;
System.out.println("Total sessions created " + counter);
}
// other methods
}
public class HttpSessionEventPublisher implements HttpSessionListener {
...
}
关于java - Spring Security应用程序调用事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26053063/