在不重新启动JVM的情况下重新加载JAVA中的Kerberos配置

以下代码用于使用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的情况下获得最新的更改。

回答:

refreshKrb5Config=true 应该在jaas.conf中为KRB5LoginModule设置。

以上是 在不重新启动JVM的情况下重新加载JAVA中的Kerberos配置 的全部内容, 来源链接: utcz.com/qa/410494.html

回到顶部