Spring Authentication查看其他会话

时间:2012-09-12 15:30:39

标签: java spring session spring-security

我知道我可以为当前活动会话的用户获取AllSessions,并且我知道我可以获得将向所有用户显示活动会话的AllPrincipals。但我想知道是否可以为特定用户获取getAllSessions。所以说我是当前活动会话的userA,我想getAllPrincipals,然后选择一个主体,然后选择该特定主体的getAllSessions。这可能吗?如果是这样的话?

1 个答案:

答案 0 :(得分:0)

您在谈论SessionRegistry,在API中可以使用getAllSessions(Object principal, boolean includeExpiredSessions)方法。例如:

List<Object> allPrincipals = getAllPrincipals();
Object principal = allPrincipals.get(0); // change this to way you want
List<SessionInformation> principalSessions = getAllSessions(principal, false);

请记住,主要对象可以是任何内容,例如User或您自己的实现,但必须正确定义equals()hashCode