如果在不使用任何哈希映射的情况下知道Apache Shiro中的会话ID,如何验证会话ID?

时间:2016-02-04 09:47:06

标签: apache validation session shiro

我知道可以使用hashmap验证会话ID并将其附加到侦听器。还有一种不推荐使用的方法,只使用会话ID字符串进行验证。

我想知道是否有另一种方法可以在不使用任何哈希图的情况下验证Apache Shiro中的已知会话ID?

1 个答案:

答案 0 :(得分:1)

另一种解决方案是使用传递的会话ID创建主题,然后尝试获取该主题的会话。如果会话存在,那么它将返回其session其他null。例如,下面的方法可用于使用传递的会话ID验证Apache Shiro的会话。

 public static boolean isSessionValid(String sessionId){  
      Subject requestedSubject = new Subject.Builder().sessionId(sessionId).buildSubject();
      return !(requestedSubject.getSession(false) == null);
  }