GC | GC применяется для доступа к глобальному каталогу в активном каталоге. Он может использоваться для быстрых запросов. |
IIS | С помощью провайдера ADSI для IIS можно создавать новые web-сайты в каталоге IIS. |
WinNT | Чтобы получить доступ к базе данных пользователей старых доменов Windows NT 4, можно использовать провайдера ADSI для WinNT, Факт, что пользователи NT 4 имеют только несколько атрибутов, остается неизменным. |
NDS | Этот идентификатор программы используется для коммуникации со службами каталогов Novell. |
NWCOMPAT | С помощью NWCOMPAT можно получить доступ к старым каталогам Novell: Novell Netware 3.x. |
Имя сервера
Имя сервера следует за протоколом в строке соединения. Имя сервера является не обязательным, если вы зарегистрировались в домене активного каталога. Без имени сервера происходит связывание без сервера; это означает, что Windows 2000 пытается получить 'лучший' контроллер домена в домене, который ассоциирован с пользователем, выполняющим связывание. Если внутри сайта нет сервера, будет использоваться первый найденный контроллер домена.
Связывание без сервера может выглядеть следующим образом: LDAP://OU=Sales, DC=GlobalKnowladge, DC=Com
.
Номер порта
После имени сервера можно определить номер порта серверного процесса, используя синтаксис :xxx
. По умолчанию для сервера LDAP используется номер порта 389: LDAP://dc01.globalknowledge.net:389
. Сервер Exchange использует тот же самый номер порта, что и сервер LDAP. Если сервер Exchange установлен на той же системе, например, как контроллер домена активного каталога, то можно сконфигурировать другой порт.
Известное имя
Четвертая часть, которую мы должны определить в пути доступа,— это известное имя (DN — Distinguished Name). Известное имя является гарантированным уникальным именем, идентифицирующим объект, к которому требуется доступ. В активном каталоге для определения имени объекта можно использовать синтаксис LDAP, который основывается на X.500.
Известное имя
CN=Christian Nagel, OU=Trainer, DC=GlobalKnowledge, DC=com
определяет общее имя (CN
) Christian Nagel в организационной единице (OU
) Trainer в компоненте домена (DC
) GlobalKnowledge домена GlobalKnowledge.com. Часть, которая определена самой правой является корневым объектом домена. Имя должно следовать иерархии дерева объектов.
Спецификацию LDAP для строкового представления известных имен можно найти в RFC 2253: www.ietf.org/rfc/rfc2253.txt
.
Относительное известное имя (RDN) используется для ссылки на объект внутри контейнерного объекта. Для RDN спецификации OU и DC не требуются, будет достаточно общего имени. CN=Christian Nagel
является относительным известным именем внутри организационной единицы. Относительное известное имя может использоваться, если мы уже имеем ссылку на объект контейнера и хотим получить доступ к объектам-потомкам.
Если известное имя не определено в пути доступа, процесс связывания будет выполняться в используемом по умолчанию именующем контексте. Можно считать используемый по умолчанию именующий контекст с помощью rootDSE
. LDAP 3.0 определяет rootDSE как корень дерева каталогов на сервере каталога.
LDAP://rootDSE
или LDAP://servername/rootDSE
Перечисляя все свойства rootDSE
, можно получить информацию о defaultNamingContext
, который будет использоваться, когда не определено никакое имя. schemaNamingContext
и configurationNamingContext
определяют требуемые имена, которые будут использоваться для доступа к схеме и конфигурации в хранилище активного каталога.
Следующий код используется для получения всех свойств rootDSE
. Речь идет о связывании с помощью класса DirectoryEntry
:
using (DirectoryEntry de = new DirectoryEntry()) {
de.Path = 'LDAP://celtlcrain/rootDSE';
de.Username = @'sentinelchris';
de.Password = 'mausemaus3';
PropertyCollection props = de.Properties;
foreach (string prop in props.PropertyNames) {
PropertyValueCollection values = props[prop];
foreach (string val in values) {
Console.Write(prop + ': ');
Console.WriteLine(val);.
}
}
}