簡體   English   中英

JAVA和GSSAPI:清除緩存

[英]JAVA & GSSAPI: Clearing cache

我編寫了一個簡單的Java應用程序,該應用程序使用GSSAPI來連接到Active Directory(Kerberos SSO)。

我有2個領域和KDC:x和y。

如果我將使用realm / KDC x運行該工具-該工具將正常工作。

如果我將使用realm / KDC y運行該工具-該工具也可以使用。

如果我將運行該工具以對realm / KDC x(登錄,注銷,登錄,注銷)執行2種身份驗證-可以。

領域/ KDC y的結果相同。

問題是當我嘗試在兩個領域/ KDC之間切換時:登錄x,注銷x,登錄y,注銷y-嘗試登錄第二個時,拋出異常:

GSSException:機制級別:消息流已修改(41))

只是為了澄清-僅當我使用2個不同的領域/ KDC(當然,每次使用1個),而沒有在這兩個領域之間重新啟動整個應用程序時,才會出現問題。

我認為java / gssapi以某種方式緩存了領域或krb票證或其他東西。

問題是如何清除該緩存(而不會殺死整個應用程序),或者如果沒有此類緩存/靜態變量,如何使它工作?

謝謝!

您的問題可能是錯誤的krb5.conf文件。 參見此處: GSSException:消息流已修改(41)

將您的整個krb5.conf和訪問的SPN完整發布。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM