2013-04-20 6 views
1

Active Directory (Kerberos SSO)에 연결하기 위해 GSSAPI를 사용하는 간단한 Java 응용 프로그램을 작성했습니다.JAVA & GSSAPI : 캐시 지우기

2 개의 영역과 KDC가 있습니다 : x와 y.

영역/KDC x로 도구를 실행하면 도구가 작동합니다.

영역/KDC를 사용하여 도구를 실행하면 y - 도구도 작동합니다.

영역/KDC x (로그인, 로그 아웃, 로그인, 로그 아웃)로 2 가지 인증을 수행하는 도구를 실행하면 - 작동합니다.

realm/KDC y에 대한 같은 결과입니다.

: - 두 번째에 로그인하려고 할 때 예외가 발생 로그인 X, 로그 아웃 X, 로그인 Y, 로그 아웃 Y :

문제는 내가 두 영역/KDC로 전환 할 노력하고있어 때입니다 GSSException : 메카니즘 수준 : 메시지 스트림 수정 됨 (41))

-이 문제는 2 개의 다른 영역/KDC (물론 매번 하나씩)를 사용하는 경우에만 발생하며, 이들 사이의 전체 응용 프로그램을 다시 시작하지 않아도 발생합니다. 두.

나는 java/gssapi가 어떻게 든 영역이나 krb 티켓이나 다른 것을 캐시한다고 생각한다.

질문은 (전체 응용 프로그램을 죽이지 않고)이 캐시를 어떻게 지울 수 있습니까? 아니면 그런 캐시/정적 변수가 없으면 어떻게 작동합니까?

감사합니다.

답변