السمات مع الخيار ثنائي بعض أنظمة الدليل فرض معاملة خاصة لخصائص معينة، بحيث يجب استخدام ثنائي الخيار لداب سمة. والسبب في ذلك: يجب أن يكون ترميز قيم السمات أو قيم التوكيد بير (قواعد التشفير الأساسية) المشفرة - وإلا يتم ترميز القيم وفقا لترميز لداب الخاص رك 4517 لصيغة السمات. للإشارة إلى هذا التعامل الخاص، يعرض خادم لداب هذه السمات فقط مع الخيار الثنائي. يتم وصف خيارات لداب مثل الخيار الثنائي بشكل عام في مواصفات لداب v3 في رك 4511. يتم إضافتها إلى أسماء الخصائص كاحقة عندما يتواصل خادم لداب والعميل مع بعضهما البعض، على سبيل المثال مثل: الخيار الثنائي على وجه الخصوص هو الموضحة في رك 4522. في بعض الأحيان لا يتم وضع علامة واضحة في مخطط الدليل عندما تتطلب سمة التعامل مع الخيار ثنائي. في هذه الحالات لديك إمكانية لوضع مثل هذه السمة في قائمة سمات الخيار الثنائي في خيارات التطبيق تحت أدوات - خيارات - إعدادات لداب: لذلك يمكن قراءة هذه السمات وكتابة دون قضايا. عادة لن تضطر إلى العمل بجد على هذه القائمة لأن معظم السمات التي تحتاج إلى الخيارات الثنائية محددة مسبقا كقيم افتراضية هنا. ستدرك عند الحاجة إلى إضافة سمة إلى هذه القائمة عند رؤيتها في لوحة قائمة السمات مع السلسلة الثنائية في نهاية اسم السمات: عرض آخر ينبهك إلى إضافة اسم سمة إلى سمات الخيار الثنائي : يحدث خطأ بروتوكول إذا كنت تريد كتابة سمة من هذا القبيل دون الخيار الثنائي: سمات لأن معظم العمليات على مركز دليل لداب حول سمات تحتاج إلى فهم كيفية استخدام تلك السمات من خلال جندي. يتم تمثيل سمات إدخال لداب بواجهة تعامل السمات، بينما يتم تمثيل السمات الفردية بواسطة واجهة سمة. لإنشاء سمات لاستخدامها في البرنامج الخاص بك، يجب استخدام فئات باسيكاتريبوتس و باسيكاتريبوت. في ما يلي مثال ينشئ سمتين، صورة وصورة. ويضعها في كائن سمات. أسماء السمات يمكنك تحديد سمة من خلال استخدام اسم الخاصية المميزة. والتي تسمى أحيانا معرف السمة أو اسم نوع السمة. يناقش درس عمليات الدليل أسماء السمات، على وجه التحديد، ويغطي تصنيفات السمات الفرعية، ومرادفات اسم السمة، وبناء الجملة لتحديد تفضيلات اللغة. قد لا تكون هذه الميزات مدعومة من قبل جميع تطبيقات خادم لداب. أسماء سمات لداب غير حساسة لحالة الأحرف. ومن ثم اسمين من السمات، مثل أوبجكتكلاس و أوبجكتكلاس. فسيتم تفسير كلاهما على أنه يشير إلى نفس السمة. إذا كنت تستخدم فئة باسيكاتريبوتس لتمثيل سمات لداب، ثم يجب تمرير ترو للمعامل إغنوريكاس إلى منشئيه. وهنا بعض الأمثلة. يتيح لداب v3 خيارات إلحاقها باسم سمة. ويسبق كل خيار حرف منقوطة (). الخيارات مثل التصنيف الفرعي للسمة. وهذا يعني أنه يتم التعامل مع الخاصية المميزة المسماة بدون الخيار كسلسلة مميزة من السمة المسماة مع أحد الخيارات. والخيار الوحيد الذي يحدده البروتوكول هو ثنائي (يشار إليه باستخدام السلسلة الثنائية)، مما يعني أن قيمة السمات ينبغي أن تنتقل في شكل ثنائي (بغض النظر عن بناء الجملة الفعلي). هذا الخيار محجوز لإرسال البيانات المشفرة ASN.1 (مثل الشهادات: كاسرتيفيكاتبيناري). قد تدعم الخوادم التي تدعم التصنيف الفرعي للسمة تحديد السمة بدون خيارها الثنائي، ولكن من الأفضل دائما تضمين الخيار الثنائي في اسم السمة. الخصائص التشغيلية يدعم لداب v3 فكرة السمات التشغيلية. والتي هي سمات مرتبطة كائن دليل لأغراض إدارية. قائمة التحكم بالوصول للكائن، على سبيل المثال، هي سمة تشغيلية. في DirContext. getAttributes () و DirContext. search (). يمكنك توفير فارغة كقائمة السمات المراد إرجاعها وبالتالي يمكن تحديد أن كافة السمات المقترنة الكائنات المطلوبة يتم إرجاعها. غير أن السمات التي تم إرجاعها لا تتضمن سمات تشغيلية. لاسترداد السمات التشغيلية، يجب أن تسميها صراحة. قيم السمة يمكن أن تحتوي سمة لداب على قيمة واحدة أو قيم متعددة غير مرتبة. ويحدد تعريف السمات في مخطط الدليل ما إذا كانت السمة مسموحا لها بأكثر من قيمة واحدة أم لا. يتم تمثيل كل من سمات مفردة ومتعددة القيم في جندي كخاصية. في المثال السابق. يتم إنشاء سمة متعددة القيم وسمة ذات قيمة واحدة. و جندي مرن جدا في كيفية تمثيل قيم السمة لأنه يتم الإعلان عن هذه القيم ك java. lang. Object. عند استخدام جندي للوصول إلى السمات المخزنة في دليل معين أو تحديثها، تعتمد أنواع قيم السمات على الدليل وإلى حد ما على موفر الخدمة المقابل. بالنسبة إلى دليل لداب، يمثل موفر سونز لداب قيم السمات إما java. lang. String أو بايت. تستخدم صفائف البايت لتمثيل قيم السمات مع بناء جملة السمات غير المنتظمة. وتستخدم السلاسل لتمثيل قيم جميع الصيغ الأخرى. بالنسبة إلى السمة التعسفية، لا تتوفر طريقة برنامجية لتحديد ما إذا كان بناء الجملة غير مقيد. تتوفر الطرق اليدوية، بطبيعة الحال، وتتضمن البحث عن السمة وصيغتها في مستندات مثل رك 2256. مزود خدمة لداب يحتوي على قائمة مدمجة لأسماء الخصائص التي يعرف أنها تحتوي على قيم غير مقيدة ويسمح للعملاء بإضافة إلى ذلك قائمة. الجدول التالي يعطي هذه القائمة المضمنة. عند قراءة إحدى هذه السمات من دليل لداب، ستكون قيمته من نوع بايت. تحديد سمات نونسترينغ إضافية إذا كان البرنامج يستخدم سمة يجب إرجاع قيمة كمصفوفة بايت ولكن اسم سمات غير موجود في هذه القائمة ثم تحتاج إلى إضافة الاسم إلى قائمة سمات عدم الاتصال. يمكنك القيام بذلك باستخدام خاصية بيئة java. naming. ldap. attributes. binary. قيمته عبارة عن سلسلة من أسماء السمات المفصولة بفضاء. على سبيل المثال، يقوم إعداد الخاصية البيئة التالية بإعلام موفر لداب بأن قيم السمات المسماة مبغفيديو و ميسبيسيالكي تعاد كمصفوفات بايت: إلغاء قيم سمة العودة يسمح لك لداب v3 بتحديد أسماء نوع السمة فقط (و لا قيم السمة). للقيام بذلك باستخدام جندي، يمكنك تعيين الخاصية بيئة java. naming. ldap. typesOnly. يؤثر هذا الخاصية DirContext. getAttributes () و DirContext. search (). عند تحديد أنه سيتم إرجاع الكائنات (عن طريق تمرير صحيح إلى SearchControls. setReturningObjFlag ()) ثم استدعاء البحث (). يتم تجاهل هذه الخاصية لأن قيم السمة مطلوبة لإنشاء الكائن. هيريس مثال يحصل على قائمة بأسماء سمات الإدخالات. ينتج هذا المثال التالي output. ldapgetvalueslen مجرد تحديث طفيفة إلى الملاحظة أدناه من جغستافسون بخصوص الحقل أوبجكتغويد. الذهاب خطوة أبعد من ذلك، في بعض الأحيان من المفيد لعرض هذا غويد كسلسلة، ومايكروسوفت يحتوي على مقالة دعم والنصي بالتفصيل كيفية تحويل أوبجكتغويد من عرافة إلى سلسلة. هذه المقالة هنا: support. microsoftdefault. aspxscidkb3Ben-us3B325649 وفيما يلي وظيفة فب الذي يفعل نفس الشيء ميكروسوفتس ف البرنامج النصي، فإنه يأخذ مدخلات أوبجكتغويد في شكل ثنائي ويعود تنسيقها كسلسلة (بعد تحويلها إلى عرافة باعتبارها الخطوة الوسطى). سيؤدي هذا إلى إعادة قيمة أوبجكتغويد الدقيقة التي يتم عرضها لأي كائن "أكتيف ديركتوري" في أدوك. مثال الإخراج: 3f79048f-42cd-4c77-8426-835cd9f8a3ad وظيفة غويدتوستر (بيناريغويد) هيكسغيد فك (هيكس، بيناريغيد) عرافة هيكسغيدهيكس hex1 سوبستر (عرافة، -26، 2). سوبستر (هيكس، -28، 2). سوبستر (هيكس، -30، 2). سوبستر (هيكس، -32، 2) hex2 سوبستر (هيكس، -22، 2). سوبستر (هيكس، -24، 2) hex3 سوبستر (هيكس، -18، 2). سوبستر (هيكس، -20، 2) hex4 سوبستر (هيكس، -16، 4) هيكس 5 سوبستر (هيكس، -12، 12) غويدستر hex1. - hex2. - hex3. - hex4. - hex5 للتفصيل على مشاركة ركروز، إذا كنت ترغب في تحويل قيمة أوبجكتسيد إلى سلسلة صالحة للاستخدام (من أكتيف ديركتوري) فإن الدالة التالية سوف تفعل خدعة (تم استعارتها من قسم آخر من الدليل، مجرد معرف إد إضافته هنا): إرجاع الدالة النصية النصية بينتوسترسيد (بينزيد) هيكسيد bin2hex (بينزيد) ريف هيكسديك (سوبستر (هيكسيد، 0، 2)) سوبكونت هيكسديك (سوبستر (هيكسيد، 2، 2)) أوث هيكسديك (سوبستر (هيكسزيد، 4، 12) نتيجة ريف-أوث ل (x0x لوت سوبكونت x) سوبوثكس هيكسديك (هذا غتليتلنديان (سوبستر (هكسيد، 16 (x 8)، 8))) نتيجة. - سوبوثكس الغش من خلال معالجة على S - العودة S-. نتيجة تحويل عدد قليل من عرافة-إنديان إلى واحد، أن هيكسديك يمكن تحويل الدالة ليتلينديان (عرافة) ل (x سترلين (عرافة) - 2 × غ 0 × X - 2) النتيجة. سوبستر (هيكس، x، 2) ريتورن ريسولت لا تتعلق هذه الدالة بوظيفة لدابجيتفالويسلن ولكن لا تزال مفيدة إذا كنت ترغب في تحويل قيمة أوبجكتغويد الثنائية إلى تنسيق سلسلة (تم تحويلها من بعض فسكريبت التي تقدمها ريتشارد مولر): هذه الوظيفة سوف تحويل قيمة ثنائية توجيه إلى سلسلة صالحة. دالة بينتوسترغويد (أوبجكتغويد) هيكسغويد bin2hex (أوبجكتغويد) هيكسغيدتوغودستر ل (k 1 k لوت 4 ك) هيكسغيدتوغودستر. سوبستر (هيكسغيد، 8 - 2 ك، 2) هيكسغيدتوغودستر. - ل (k 1 k لوت 2 k) هيكسغيدتوغودستر. سوبستر (هيكسغويد، 12 - 2 k، 2) هيكسغيدتوغودستر. - ل (k 1 k لوت 2 k) هيكسغيدتوغودستر. سوبستر (هيكسغويد، 16 - 2 k، 2) هيكسغيدتوغودستر. - سوبستر (هيكسغويد، 16، 4) هيكسغيدتوغودستر. - سوبستر (هيكسغويد، 20) هيريس مثال على كيفية استخدام كل من: إنشاء اتصال وتحديد باسن أولا. هناك الكثير من الأمثلة في دليل هذه الإدخالات سرلدابسيرتش (هذه غتكون، هذه-غتباسن، تصفية، حقول) لدابجيتنتريز (هذا-غكون، سر) إذا (إيناراي (أوبجكتغيد، الحقول)) entries0objectguid0 ذيس-غبينتوسترغيد (entries0objectguid0) إذا كان (إيناراي (أوبجكتسيد، الحقول)) دخول لدابيرستنتري (هذا-غكون، سر) أوبجكتيسيدبيناري لدابجيتفالويسلن (هذا-غكون، الإدخال، أوبجكتسيد) entries0objectsid0 هذا-غبينتوسترسيد (objectidbinary0) نأمل أن يساعد هذا شخص ما هنا الحل ل ويندوز أوبجيكتسيد: ليب. (سيدبيناري)، 8) صفيف هيكساراي () فوريش (تقسيم كبايت غ الرئيسية) هيكسارايكي سترتوبر (سوبستر (0.dechex (بينديك (بايت))، -2)) بلوككونت هيكسديك (hexArray1) ) ديجغروبسوب-إد-بلوكس أري () ل (i0 إلتبلوككونت i) إزاحة 8 (4 i) ديغروبسوب-إد-بلوكسي مجموعة () ديغغروبسوب-إد-BLOCKSi1 هيكسديك (hexArrayoffset3) ديغغروبسوب-إد-BLOCKSi2 هيكسديك (hexArrayoffset2) ديغروبسوب-إد هيكسديك (hexArray2)، هيكسديك (hexArray3)، هيكسديك (hexArray4)، هيكسديك (hexArray5)، هيكسديك (هيكسارايوفست) هيكسديك (هيكسارايوفست) هيكسديك (hexArray6)، هيكسديك (hexArray7)) فوريتش (ديسغروبسوب-إد-بلوكس بلوك) سيد. -.this-gtbyte4ToLong (BLOCK1، BLOCK2، BLOCK3، BLOCK4) العودة SID byte6ToLong وظيفة الخاص (B1، B2، B3، B4، B5، B6) byte6ToLong B1 byte6ToLong byte6ToLong256 B2 byte6ToLong byte6ToLong256 B3 byte6ToLong byte6ToLong256 B4 byte6ToLong byte6ToLong256 B5 byte6ToLong byte6ToLong256 عودة B6 bte6ToLong الوظيفة الخاصة byte4ToLong (b1، b2، b3، b4) byte4ToLong b1 byte4ToLong byte4ToLong256 b2 byte4ToLong byte4ToLong256 b3 byte4Tolong byte4ToLong256 b4 العودة byte4ToLong سرلدابسيرتش (كون، باسندن، فيلترسيرتش) دخول لدابفيرستنتري (كون، سر) أوبجكتيسيدبيناري لدابجتيفالويسلن (كون، إنتري، أوبجكتسيد) أوبج جديد لدابوبجكتسيد () صدى أوبج-غتوسترينغ (objectidbinary0)
No comments:
Post a Comment