我承認並不熟悉JAAS API,但需要幫助我們調查升級到jre 7時遇到的問題。以前可以使用的應用程序使用當前登錄的Windows用戶名自動登錄停止工作。經過一番討論後,它涉及到這一行代碼。Credentials.acquireTGTFromCache(null,null)使用jre 7返回null
sun.security.krb5.Credentials.Credentials.acquireTGTFromCache(null, null);
此使用JRE 6,當我在最簡單的形式寫了一個測試類,仍然可以看到相同的行爲,所以它不能是由於在使用的JRE 7 JVM時返回null,但返回正確的crendentials代碼在我們自己的類中。
package test;
import sun.security.krb5.Credentials;
public class Scratch {
public static void main(final String args[]) throws Exception {
final Credentials yaoza = Credentials.acquireTGTFromCache(null, null);
System.out.println(yaoza);
}
}
難道這是某種配置問題?任何答案或指向正確的方向將不勝感激。謝謝!
出於好奇 - 您可以確認在JRE 6或JRE 7下運行時 - 您的應用程序正在以「管理員」身份運行[處於升高狀態]還是筆記? – hawkeye
對不起,但我不完全按照你的問題。我以非管理員身份登錄到Windows,並在Eclipse中運行我的測試類。 – RAY
當你運行eclipse時,你是否右鍵點擊圖標並選擇「以管理員身份運行」(如果你不知道,那麼我認爲答案是否定的) – hawkeye