2015-01-21 7 views
1

현재 CAS 서버 3.5.2에서 테스트 중이며 로그 아웃에 문제가 있습니다. 이 주제에 대한 지식이 제한되어 있으므로 그 점을 에 더 자세히 설명 할 수는 없습니다.Jasig CAS 싱글 로그 아웃 - 로그 아웃

나는 CAS 서버를 설치했으며 해당 CAS 서버를 가리키는 동일한 Java 응용 프로그램이 2 개 있습니다 ( 라는 용어를 사용하지 않으면 사과합니다). 따라서 내 클라이언트 응용 프로그램의 보호 된 리소스에 액세스 할 때 이 CAS 로그인 페이지로 리디렉션됩니다. 자격 증명이 양호한 경우 인 경우 내 DB에서 체크 한 다음 리소스에 액세스합니다. 그런 다음 클라이언트 응용 프로그램의 두 번째 인스턴스에서 동일한 보호 된 리소스에 액세스하면 이 로그인 페이지로 리디렉션되지 않습니다. 저건 완벽 해.

문제는 로그 아웃에 있습니다. 이렇게하려면 먼저 session.invalidate()를 실행하고 CAS 로그 아웃 페이지에 액세스하십시오. 로그 아웃 한 응용 프로그램의 이므로 보호 된 리소스 인 에 다시 액세스해야합니다. 다른면에서 두 번째 응용 프로그램은 으로 연결되어 있으며 다시 로그인하지 않고도 보호 된 자원에 액세스 할 수 있습니다. 음, session.invalidate()가 처음으로 응용 프로그램에 국한되어 있다는 것을 알고 있지만 CAS 서버가 다른 응용 프로그램에 "broadcast"했을 것이라고 생각합니다.

저에게 단일 노래에 대한 피드백 경험을 제공 할 수있는 사람이 있습니까?

답변

1

먼저 SSO Listener가 클라이언트에서 활성화되어 있는지 확인하지 않으면 CAS 등록 정보 파일에서 SSO가 활성화되어 있는지 확인하십시오. 이들이 활성화 된 경우 LogoutManagerImpl.java 또는 SamlCompliantLogoutMessageCreator.java 파일에 문제가있는 것 같습니다.

CAS의 SSO는 SAML XML 메시지를 전송하여 백 채널을 통해 수행됩니다. 지난 해 SSO 기능에 문제가있어서 브로드 캐스팅되는 XML 메시지에 구문 분석을 방해하는 오류가 있음을 알았습니다.

+0

감사합니다. 내 질문에 대답했다. (내 문제는 web.xml의 잘못된 필터 순서 때문이다.) – chlarno

관련 문제