سؤال

والتعليمة البرمجية التالية للمصادقة إلى خادم ويندوز AD باستخدام جافا + Kerberos و هو يعمل بشكل جيد -

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);
}
}

ما سبق هو مجرد برنامج الاختبار. سيتم تشغيل الرمز الفعلي في تطبيق الويب قط. مشكلة أواجهها هي، إذا تغير ملف krb5.conf، ونفس لا ينعكس في هر، إذا كانت المصادقة الناجحة قد حدث بالفعل مرة واحدة مع الإصدار السابق من krb5.conf. وتعكس التغييرات الجديدة فقط على إعادة تشغيل قط.

وأريد أن أعرف إذا كان هناك طريقة لتحديد JVM لإعادة تحميل krb5.conf بحيث يحصل على أحدث التغييرات دون إعادة تشغيل JVM.

هل كانت مفيدة؟

المحلول

ويجب تعيين refreshKrb5Config=true لKRB5LoginModule في jaas.conf.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top