2016-07-24 16 views
2

私のkrb5.confファイルでは、テスト目的でチケットの有効期間を10分(ticket_lifetime = 10m)に設定しました。コマンドラインからkinitを実行してklistを実行すると、チケットの有効期間は10分です。しかし、Javaコードからログインすると、自分のkrb5.confファイルのチケットの有効期間が無視され、デフォルトの有効期間が1日使用されているようです。私は-Dsun.security.krb5.debug=trueと設定していますが、私のカスタムkrb5.confファイルがロードされているのがわかりますが、ticket_lifetimeは受け入れられません。これはJava Kerberos実装の制限ですか、あるいはJavaからチケットの有効期間を設定するための他の方法はありますか?JavaからKerberosチケットの有効期間を設定するにはどうすればよいですか?

+0

が本当にJavaがあなたのKerberos/JAAS設定ファイルを処理する方法を理解するには、あなたがいくつかを学びたいのであれば、あなたは '-Djava.security.debug = gssloginconfig、configfileを、のConfigParser、logincontext' –

+0

を設定する必要がありますJAASについての厄介なことについては、https://steveloughran.gitbooks.io/kerberos_and_hadoop/content/sections/jaas.htmlとhttps://steveloughran.gitbooks.io/kerberos_and_hadoop/content/sections/jdk_versions.htmlを参照してください(これらは章はHadoop特有のものではありません) –

答えて

2

これは現在リリースされているJavaのバージョンでは不可能です。 Java 9は、ticket_lifetimeおよびrenew_lifetimeの設定に従います。このOpenJDKのチケットはより多くの情報があります。https://bugs.openjdk.java.net/browse/JDK-8044500

関連する問題