我知道可以使用hashmap验证会话ID并将其附加到侦听器。还有一种不推荐使用的方法,只使用会话ID字符串进行验证。
我想知道是否有另一种方法可以在不使用任何哈希图的情况下验证Apache Shiro中的已知会话ID?
答案 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);
}