アプリケーションにシングル サインオン (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 になるアプリケーションが 1 つあります。リバース マップにはアプリケーションのセッションがありません。しかし、認証が完了するとログインできます。
セッション ID が SSO セッション内に入らない理由はありますか?