كيفية الحصول على إعلان مجموعات المستخدمين المستخدم في Asp.Net?

StackOverflow https://stackoverflow.com/questions/90572

  •  01-07-2019
  •  | 
  •  

سؤال

أنا بحاجة إلى أن تكون قادرة على الحصول على قائمة من مجموعات المستخدم في, ولكن أنا بحاجة إلى أن يكون أحد/بعض/كل من الخصائص التالية مرئية:

  • distinguishedname
  • اسم
  • cn
  • samaccountname

ما لدي الآن يعود نوعا من اسم ، ولكن ليس أي من تلك المذكورة أعلاه (أسماء يبدو قريبا, ولكن لا كل مباراة بشكل صحيح.هذا هو ما أنا باستخدام:

ArrayList groups = new ArrayList();
foreach (System.Security.Principal.IdentityReference group in System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups)
    groups.Add(group.Translate(typeof(System.Security.Principal.NTAccount)));

كما قلت أعلاه يعمل, لكن لن تحصل على لي أسماء أنا بحاجة للحصول على البرنامج (تلك المحددة أعلاه).أنا بحاجة إلى أن تكون قادرة على متابعة المباراة مع قائمة أحصل على حين يدعو كافة الجماعات في المجال:

DirectoryEntry dirEnt = new DirectoryEntry("LDAP://my_domain_controller");
DirectorySearcher srch = new DirectorySearcher(dirEnt);
srch.Filter = "(objectClass=Group)";
var results = srch.FindAll();
هل كانت مفيدة؟

المحلول

لا يمكنك أن تفعل هذا في خطوة واحدة ، المجموعات أيضا إعلانية منفصلة إدخالات مع خصائص.

وذلك في الجولة الأولى يجب أن تحصل على مجموعة أسماء المستخدم في وملئها في قائمة من نوع ما.

الخطوة الثانية هي أن تذهب من خلال كل من مجموعة أسماء و الاستعلام واحدا تلو الآخر للحصول على خصائص المجموعة (مثل distinguishedname ، وهلم جرا) وجمع ذلك إلى نوع من الهيكل.

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