سؤال

يمكنك أن ترى في المنشورات التالية

http://forums.sun.com/thread.jspa؟threadid=603815

http://forums.devshed.com/ldap-programming-76/active-directory-services-using-java-api-89586.htmlمثال على الوصول إلى LDAP باستخدام InitialLdapContext الفصل في جافا. هذا يتطلب أ تسجيل الدخول و كلمه السر ليتم تمريرها. (على الرغم من أن حساب الخدمة أو المستخدم الذي يقوم بتشغيل عملية Java قد قام بالفعل بتسجيل الدخول ليكون قادرًا على التشغيل.)

نظرًا لأن حساب المستخدم أو الخدمة قد تم تسجيل الدخول بالفعل - يمكنهم بالفعل تشغيل أوامر Active Directory مثل ما يلي بدون اسم المستخدم أو كلمة المرور:

dsquery user -samid "login" |dsget user -samid -email -display

فلماذا تحتاج جافا تسجيل الدخول و كلمه السر - إذا كان هذا الاستعلام متاحًا بالفعل لنظام التشغيل Windows؟ يلمح Kosuke إلى أنه غير مطلوب في منشور المدونة هذا تحت الختام:

https://community.oracle.com/blogs/kohsuke/2008/06/12/more-active-directory-integration-java

سؤالي هو - كيف يمكننا استدعاء Active Directory في Java بدون:

  • باستخدام تسجيل الدخول أو كلمه السر (تشغيل تحت حساب تم تسجيل الدخول بالفعل)؟
  • تنفيذ أمر على سطر الأوامر؟
هل كانت مفيدة؟

المحلول

ربما يحدث هذا بسبب

  • أنت تستخدم مكتبات/سياقات LDAP للتواصل مع Active Directory ، وتتطلب هذه المكتبات دعم أنواع أخرى من LDAP (هل يعتبر AD حتى LDAP؟)
  • مقدمو هذه التطبيقات هم الذين يتطلبونها. يتم الاتصال بـ LDAP من خلال مقدمي الخدمات الذين يوفرون التنفيذ ، ولم يتم ذلك بواسطة وقت تشغيل Java الفعلي.
  • كلمة مرور المستخدم الحالية ليست (آمل) توفيرها بالفعل من قبل Windows إلى Java.

عندما يصادقك Windows مقابل إعلان أثناء تشغيل التطبيقات التي تتطلب ذلك ، فإنه يقدم مجموعة أخرى من بيانات الاعتماد إلى جانب كلمة المرور الفعلية. لا تتوفر بيانات الاعتماد هذه في Java ، أو على الأقل لم يوفر أي من مقدمي خدمات LDAP وسيلة لاستردادها.

في منشور مدونته الأخرى حول هذا الموضوع يوسع Kohsuke أكثر قليلاً حول سبب كون الأشياء هي الطريقة التي تكون بها في Java-Land عندما يتعلق الأمر بـ Active Directory.

نصائح أخرى

يمكنك أيضًا النظر في الرابط أدناه للعثور على تعليمات مفصلة لجعل Windows مصادقة متكاملة تعمل في منصة Java.

http://webmoli.com/2009/08/29/single-sign-on-in-java-platform/

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