Spring 注销侦听器获取用户详细信息

Spring 注销侦听器获取用户详细信息,spring,http,Spring,Http,我有一个LogoutListener,它实现了HttpSessionListener,在sessionDestroyed方法中,我希望清除登录的用户访问上下文。在此方法中,我无法获取登录用户的详细信息以删除此项。任何关于如何得到这个的帮助都将是非常棒的。谢谢 public class LogoutListener implements HttpSessionListener { . . . public void sessionDestroyed(HttpSessionEvent event)

我有一个LogoutListener,它实现了HttpSessionListener,在sessionDestroyed方法中,我希望清除登录的用户访问上下文。在此方法中,我无法获取登录用户的详细信息以删除此项。任何关于如何得到这个的帮助都将是非常棒的。谢谢

public class LogoutListener implements HttpSessionListener { 
.
.
.
public void sessionDestroyed(HttpSessionEvent event) {
我尝试使用以下方法获取身份验证,但它返回null:

Authentication auth = SecurityContextHolder.getContext().getAuthentication();

可能的副本最好使用
org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler
作为注入
org.springframework.security.web.authentication.logout.LogoutFilter
(和
org.springframework.security.web.session.ConcurrentSessionFilter
,如果使用)。您应该实现一个自定义的
LogoutHandler
来进行清理,并将其注册到
LogoutFilter
。为了处理sessionDestroyed事件,您还可以实现
ApplicationListener
,然后检查
HttpSessionDestroyeEvent
,但是
SecurityContext
将不可用我也是。