我指的是这个线程,在Rob Winch
(Spring Security Lead)的最后第二篇文章中,他提到我们可以访问 sessionRegisty :
<session-management>
<concurrency-control session-registry-alias="sessionRegistry"/>
</session-management>
因此,我注册了HttpSessionEventPublisher
过滤器并在我的部分中web.xml
指定了上述设置。<http>
我不添加这个:
<beans:bean id="sessionRegistry" class="org.springframework.security.core.session.SessionRegistryImpl" />
在我的课堂上,我注入了一个 sessionRegistry 的实例,如下所示:
@Autowired
private SessionRegistry sessionRegistry
这就是我试图找出用户会话的方式:
List<SessionInformation> userSessions = sessionRegistry.getAllSessions(username,false);
for (SessionInformation userSession : userSessions){
userSession.expireNow();
}
主体是用户的用户名。调试时,sessionRegistry
变量principals
和sessionids
变量为空。我在这里做错了什么,还是克拉姆斯博客提到的步骤是唯一的方法?