Чтение онлайн

на главную

Жанры

C# для профессионалов. Том II

Ватсон Карли

Шрифт:

Имя сервера

Имя сервера следует за протоколом в строке соединения. Имя сервера является не обязательным, если вы зарегистрировались в домене активного каталога. Без имени сервера происходит связывание без сервера; это означает, что 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 = @"sentinel\chris";

 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);.

}

 }

}

Помимо других свойств результат вывода этой программы показывает

defaultNamingContext DC=eichkogelstrasse, DC=local
, контекст, который можно использовать для доступа к схеме:
CN=Schema, CN=Configuration, DC=eichkogelstrasse, DC=local
и именующий контекст конфигурации:
CN=Configuration, DC=eichkogelstrasse, DC=local
:

Идентификатор объекта

Каждый объект имеет уникальный идентификатор — GUID. GUID является уникальным 128-битовым числом. Мы можем с соединиться с объектом, используя GUID. Таким образом, мы всегда получаем тот же самый объект, даже если объект был перемещен в другой контейнер. GUID генерируется при создании объекта и всегда остается тем же самым.

Можно получить строковое представление GUID с помощью

DirectoryEntry.NativeGuid
. Затем это строковое представление можно использовать для соединения с объектом. Даже если объект перемещается в другой контейнер, мы всегда получаем тот же объект.

Следующий пример показывает имя пути доступа для связывания без сервера со специфическим объектом, представленным GUID:

LDAP://<GUID=14abbd652aae1a47abc60782dcfc78ea>

Имена объектов в доменах Windows NT

Провайдер WinNT не допускает синтаксис LDAP в части имени строки связывания. Для этого провайдера объект определяется с помощью

ObjectName
,
ClassName
. Действительные строки связывания для домена Windows NT имеют следующий вид:

WinNT:

WinNT://DomainName

WinNT://DomairName/UserName, user

WinNT://DomainName/dc01/MyGroup, group

Имя пользователя

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

Поделиться:
Популярные книги

Измена. Я отомщу тебе, предатель

Вин Аманда
1. Измены
Любовные романы:
современные любовные романы
5.75
рейтинг книги
Измена. Я отомщу тебе, предатель

Сводный гад

Рам Янка
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Сводный гад

Мимик нового Мира 6

Северный Лис
5. Мимик!
Фантастика:
юмористическая фантастика
попаданцы
рпг
5.00
рейтинг книги
Мимик нового Мира 6

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Начальник милиции

Дамиров Рафаэль
1. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции

Магия чистых душ

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Магия чистых душ

Темный Патриарх Светлого Рода 4

Лисицин Евгений
4. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 4

Стрелок

Астахов Евгений Евгеньевич
5. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Стрелок

На границе империй. Том 6

INDIGO
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
На границе империй. Том 6

Архил…? Книга 3

Кожевников Павел
3. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
7.00
рейтинг книги
Архил…? Книга 3

Доктора вызывали? или Трудовые будни попаданки

Марей Соня
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Доктора вызывали? или Трудовые будни попаданки

Лорд Системы 11

Токсик Саша
11. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 11

Черный Маг Императора 5

Герда Александр
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 5

Последний попаданец 2

Зубов Константин
2. Последний попаданец
Фантастика:
юмористическая фантастика
попаданцы
рпг
7.50
рейтинг книги
Последний попаданец 2