2013-09-24 2 views
0

내 응용 프로그램에 싱글 사인온 (SSO)을 사용하고 있습니다. 나는 Tomcat 밸브의 SSO를 확장하고 다음과 같은 방법으로 SSO 세션 ID를 얻습니다.세션이 단일 사인온 세션에 들어오지 않습니다. Tomcat

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 세션에 들어 가지 않는 이유는 무엇입니까?

답변

0

문제의 해결책을 찾았습니다. 실제로 web.xml에서 페이지를 입력하지 않으면 해당 페이지는 SSO 세션을 바이 패스합니다. 두 번째 시나리오는 url-pattern이 사양 또는 잘못된 url 패턴에 따르지 않으면 SSO 세션에서도 무시된다는 것입니다.

관련 문제