【问题标题】:Spring Authentication Look in other SessionsSpring Authentication 查看其他会话
【发布时间】:2012-09-05 16:17:13
【问题描述】:

我知道我可以为具有当前活动会话的用户获取所有会话,并且我知道我可以获取所有具有活动会话的用户的所有主体。但我想知道是否可以为特定用户获取所有会话。因此,假设我是当前活动会话的用户 A,我想 getAllPrincipals,然后选择其中一个委托人,然后为该特定委托人选择 getAllSessions。这可能吗?如果有怎么办?

【问题讨论】:

    标签: java spring session spring-security


    【解决方案1】:

    您说的是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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多