質問

次のコードは、Java + Kerberosを使用してWindows ADサーバーを認証するためのもので、正常に動作します-

public class KerberosAuthenticator {
  public static void main(String[] args) {
    String jaasConfigFilePath = "/myDir/jaas.conf";

    System.setProperty("java.security.auth.login.config", jaasConfigFilePath);

    String krb5ConfigFilePath = "/etc/krb5/krb5.conf";
    System.setProperty("java.security.krb5.conf", krb5ConfigFilePath);

    boolean success = auth.KerberosAuthenticator.authenticate("testprincipal", "testpass");

    System.out.println(success);
}
}

上記は単なるテストプログラムです。実際のコードは、tomcat webappで実行されます。私が直面している問題は、krb5.confファイルが変更されても、以前のバージョンのkrb5.confで認証に成功したことがある場合、同じことがTomcatに反映されないことです。新しい変更は、Tomcatの再起動時にのみ反映されます。

JVMを再起動せずに最新の変更を取得できるように、krb5.confをリロードするJVMを指定する方法があるかどうかを知りたい。

役に立ちましたか?

解決

jaas.confのKRB5LoginModuleに

refreshKrb5Config = true を設定する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top