9

次のコードは、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 を再起動せずに最新の変更を取得できるように、JVM を指定して krb5.conf をリロードする方法があるかどうかを知りたいです。

4

1 に答える 1

8

refreshKrb5Config=truejaas.conf の KRB5LoginModule に設定する必要があります。

于 2009-09-17T07:53:51.833 に答える