ADAM - هل هناك طريقة ل"مخزن" سمات محددة التطبيق؟
-
21-08-2019 - |
سؤال
ولدي آدم انشاء ولقد كتبت خدمات الويب لإتمام المهام الادارية مثل إضافة مستخدمين جدد الخ (لدي العديد من التطبيقات باستخدام المثال ADAM نفسه)
ما أحاول تحقيق وربما يبدو غريبا بعض الشيء - ولكن أساسا أريد مستخدم المشرف لتكون قادرة على تحديد أي سمات خدمة الويب يجب أن تعود من ADAM. مثلا تطبيق 1 يجب أن تعود DISPLAYNAME وtelephoneNumber لكن تطبيق 2 قد لا تحتاج نفس السمات التي تم إرجاعها.
وحاليا أكون قد وضعت جدولا SQL Server لتخزين السمات التي اختارت المستخدم ليتم إرجاعها وبعد ذلك في خدمة ويب يحلق من خلال هذا لتحميل السمات المطلوبة وإضافة النتائج إلى صفيف إلى أن عاد (إذا كان لديك يهتم سأضيف رمز في الأسفل).
وكنت أرغب في معرفة ما إذا كانت هناك طريقة أفضل للقيام بذلك؟ هل من الممكن لتخزين شيئا من هذا القبيل في ADAM نفسها؟
ويرجع الفضل في ذلك مسبقا لأية مساعدة!
//using linq to access table
DataClasses1DataContext db = new DataClasses1DataContext();
var queryAttributes = from atr in db.AttributesToReturns
where atr.appNumber == appNumber
select atr;
ArrayList userD = new ArrayList();
foreach (var a in queryAttributes)
{
//the col 'attribute' contains the exact name in active direct e.g. displayName
string att = a.attribute.ToString();
searcher.PropertiesToLoad.Add(att);
}
//--code omitted but here perform search & get req Directory Entry
foreach (var a in queryAttributes)
{
string attributeName = a.attribute.ToString();
try
{
string value = user.Properties[attributeName].Value.ToString();
//do something with value - here i am updating a user object which will be added to the ArrayList the webservice is returning
updateUser(u, attributeName, value);
}
//if an error - just set value to empty
catch (Exception ex)
{
string value = "NULL";
updateUser(u, attributeName, value);
}
}
userD.Add(u);
المحلول
هل يمكن تمديد HTTP: // شبكة التكنولوجيا .microsoft.com / EN-US / مكتبة / cc759734 (WS.10) .aspx اتصال
وهذا هو لب OpenLDAP لكن الملفات LDF يجب أن لا تزال تعمل http://www.ibm.com/developerworks/websphere/library/techarticles/0302_singh/singh.html