会话不会出现在会话Tomcat上的单点登录

时间:2013-09-24 11:29:33

标签: session tomcat single-sign-on

我正在为我的应用程序使用单点登录(SSO)。我已经扩展了tomcat阀门的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;
}

每个应用程序都有基于表单的身份验证。有一个应用程序SSO将作为null,反向映射没有应用程序的会话。但是一旦我完成了身份验证,我就可以登录了它。

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

1 个答案:

答案 0 :(得分:0)

我找到了问题的解决方案。实际上,如果我们不在web.xml中提供任何页面,那么该页面将绕过SSO会话。我发现相同问题的第二种情况是,如果url-pattern不符合规范或无效的url模式,SSO会话也会忽略它。