Как я могу использовать службы каталогов в своей веб-форме? - PullRequest
1 голос
/ 23 мая 2011

По сути, я создаю форму запроса на изменение сотрудника и хочу загрузить группы электронной почты в выбранном списке (для добавления / удаления членства). Я работаю в Visual C # и пытаюсь создать отдельный класс, который использует службы каталогов для выполнения этой задачи.,Когда я добавляю класс в папку App_Code, он больше не может найти System.DirectoryServices и выдает ошибку.Чего мне не хватает?

1 Ответ

1 голос
/ 23 мая 2011

Если вы используете .NET 3.5 и выше, вы должны проверить пространство имен System.DirectoryServices.AccountManagement (S.DS.AM). Вам нужно добавить это в свой проект в качестве ссылки .NET.

Читать все об этом здесь:

Управление принципами безопасности каталогов в .NET Framework 3.5

По сути, вы можете определить контекст домена и легко найти пользователей и / или группы в AD:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find a user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName");

if(user != null)
{
   // do something here....     
}

// find the group in question
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere");

// if found....
if (group != null)
{
   // iterate over members
   foreach (Principal p in group.GetMembers())
   {
      Console.WriteLine("{0}: {1}", p.StructuralObjectClass, p.DisplayName);
      // do whatever you need to do to those members
   }
}

Новый S.DS.AM позволяет очень легко играть с пользователями и группами в AD:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...