Session 会话未进入单点登录会话Tomcat

Session 会话未进入单点登录会话Tomcat,session,tomcat,single-sign-on,Session,Tomcat,Single Sign On,我正在为我的应用程序使用单点登录(SSO)。我已经扩展了tomcat valve的SSO,并添加了以下方法来获取SSO会话id public String getSSOId(String sessionId){ SessionAttrManager.log("getSSOID " +sessionId); Set<Session> keySet = reverse.keySet(); String SSOId = ""; Iterator<Se

我正在为我的应用程序使用单点登录(SSO)。我已经扩展了tomcat valve的SSO,并添加了以下方法来获取SSO会话id

 public String getSSOId(String sessionId){
    SessionAttrManager.log("getSSOID " +sessionId);
    Set<Session> keySet = reverse.keySet();
    String SSOId = "";
    Iterator<Session> iterator = keySet.iterator();
    while(iterator.hasNext()){
        Session session = iterator.next();
    SessionAttrManager.log("getSSOID "+session.getId());
        if(session.getId().equals(sessionId)){
            SSOId = reverse.get(session)!=null?(String)reverse.get(session):null;

 }
   }
    return SSOId;
}
公共字符串getSSOId(字符串sessionId){
sessionatrmanager.log(“getSSOID”+sessionId);
Set keySet=reverse.keySet();
字符串SSOId=“”;
迭代器迭代器=keySet.Iterator();
while(iterator.hasNext()){
Session=iterator.next();
sessionatrManager.log(“getSSOID”+session.getId());
if(session.getId().equals(sessionId)){
SSOId=reverse.get(会话)!=null?(字符串)reverse.get(会话):null;
}
}
返回SSOId;
}
每个应用程序都有基于表单的身份验证。有一个应用程序的SSO为空,反向映射没有该应用程序的会话。但我可以登录到它一旦我做了认证


任何可能的原因,为什么会话id不会进入SSO会话?

我找到了解决问题的方法。实际上,如果我们不在web.xml中提供任何页面,该页面将绕过SSO会话。我发现相同问题的第二个场景是,如果url模式不符合规范或无效的url模式,则SSO会话也会忽略这一点