Кривая обучения LDAP и Active Directory - PullRequest
1 голос
/ 06 января 2012

Мы думаем об использовании LDAP с Active Directory для управления пользователями многих веб-приложений вместо настраиваемого решения для реляционной базы данных. Есть ли высокая кривая обучения при этом или это просто как 1,2,3?

Ответы [ 2 ]

5 голосов
/ 06 января 2012

LDAP немного забавен и немного «отличается» от традиционных хранилищ данных - так что определенно в этом задействована кривая обучения.

Самой сложной задачей было бы получить «контроль» за путями LDAP и за то, как их построить и использовать.Также: разрешения на подключение к LDAP всегда немного проблематичны.И если вы хотите начать поиск объектов в вашем хранилище LDAP, то довольно сложный синтаксис фильтров LDAP также может оказаться сложной задачей, чтобы обернуть ваш мозг вокруг: -)

Если вы собираетесь поговорить си используйте Active Directory в Windows, тогда вам обязательно нужно зайти на сайт SelfADSI с большим количеством полезной информации.

Вы не упомянули, какую языковую / программную среду вы намереваетесь использовать - есливы используете .NET 3.5 или новее (C #, VB.NET), вы должны проверить пространство имен System.DirectoryServices.AccountManagement (S.DS.AM).Прочитайте все об этом здесь:

По сути, вы можете определить контекст домена и легко находить пользователей и / или группы в 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 в C # / VB.NET!

0 голосов
/ 06 января 2012

См. Также: «LDAP: Практика программирования» для получения информации о написании кода для взаимодействия с сервером LDAP будет надежным, изолированным и десенсибилизированным от знаний LDAP, специфичных для каждого поставщика.Написание кода со специальными знаниями о реализации приведет к получению хрупкого, сложного в обслуживании кода, который может привести к неожиданным результатам при изменении аспекта реализации сервера, такого как сам сервер, или конфигурация сервера, или балансировщики нагрузки, или что-либо еще.связанные с инфраструктурой.

Старайтесь не писать код Microsoft или создавать конфигурации Microsoft, где это возможно.Придерживайтесь документов стандартов LDAP к письму.

...