Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

Простая в использовании утилита Active Directory Users and Computers имеет фиксированный интерфейс пользователя для изменения атрибутов объектов пользователя. Мы не увидим атрибутов, которые добавляются к схеме в интерфейсе пользователя этой утилиты, управляемом мышью. Все можно сконфигурировать с помощью ADSI Edit, мы можем также просмотреть схему и конфигурацию. Эта утилита, однако, не так проста в использовании, и очень легко ввести неправильные данные:

Открывая окно Properties (Свойства) объекта, можно изменить любой атрибут объекта в активном каталоге. Мы видим обязательные, дополнительные атрибуты, типы и значения атрибутов:

ADSI Viewer

Установим также браузер активного каталога как часть SDK платформы Microsoft. SDK платформы Microsoft не является частью дистрибутива Visual Studio.NET. Вы получаете компакт-диск с подпиской на MSDN или загружаете его с web-сайта MSDN. После установки SDK платформы можно запустить утилиту с помощью пункта меню Start|Programs|Microsoft Platform SDK|Tools|ADSI Viewer.

ADSI Viewer имеет два режима. С помощью File|New можно запустить запрос или использовать Object Viewer для вывода и изменения атрибутов объектов. После запуска Object Viewer можно определить путь доступа LDAP, а также имя пользователя и пароль, чтобы открыть объект. Вскоре, когда мы начнем делать это программным путем, вы увидите, какую форму может иметь путь доступа LDAP. Здесь определяется

LDAP://OU=Wrox Press, DC=eichkogelstrasse, DC=local
, чтобы получить доступ к объекту организационной единицы:

Если определяемый объект с путем доступа и именем пользователя и паролем является допустимым, мы получаем экран Object Viewer где можно видеть и изменять свойства объекта и объектов-потомков:

Интерфейсы службы активного каталога (ADSI)

Интерфейсы службы активного каталога (ADSI) являются программным интерфейсом к службам каталога. ADSI определяет некоторые интерфейсы COM, которые реализуются провайдерами ADSI. Это означает, что клиент может использовать различные службы каталога с одними и теми же программными интерфейсами. Классы среды .NET в пространстве имен

System.DirectoryServices
используют интерфейсы ADSI.

На следующем рисунке можно видеть некоторых провайдеров ADSI (LDAP, WinNT, NDS), которые реализуют интерфейсы COM, такие как

IAD
и
IUnknown
. Сборка
System.DirectoryServices
использует провайдеров ADSI:

Программирование активного каталога

Чтобы разрабатывать программы для активного каталога, мы используем классы из пространства имен

System.DirectoryServices
. С помощью этих классов можно запрашивать объекты, просматривать и обновлять свойства, а также вести поиск объектов.

В следующих сегментах кода простое консольное приложение C# демонстрирует применение классов в пространстве имен

System.DirectoryServices
.

Классы в System.DirectoryServices

Следующая таблица показывает основные классы в пространстве имен

System.DirectoryServices
:

Класс Описание
DirectoryEntry
Этот класс является основным классом в пространстве имен
System.DirectoryServices
. Объект этого класса представляет объект в хранилище активного каталога. Мы используем этот класс для связывания с объектом, просмотра и обновления свойств. Свойства объекта представлены в
PropertyCollection
. Каждый элемент в
PropertyCollection
имеет в свою очередь
PropertyValueCollection
.
DirectoryEntries
DirectoryEntries
является коллекцией объектов
DirectoryEntry
. Свойство
Children
объекта
DirectoryEntry
возвращает список объектов в коллекцию
DirectoryEntries
.
DirectorySearcher
Этот класс является основным классом, используемым для поиска объектов со специфическими атрибутами. Чтобы определить поиск, можно использовать класс
SortOption
и перечисления
SearchScope
,
SortDirection
и
ReferalChasingOption
. Результаты поиска находятся в классе
SearchResult
или
SearchResultCollection
. Мы также получаем объекты
ResultPropertyCollection
и
ResultPropertyValueCollection
.

Связывание

Чтобы получить значения объекта в активном каталоге, мы должны соединиться с активным каталогом. Процесс соединения называется связыванием. Путь доступа связывания может выглядеть следующим образом:

LDAP://dc01.globalknowledge.net/OU=Marketing, DC=GlobalKnowledge, DC=Com

Во время процесса связывания можно определить следующие позиции:

□ Протокол, определяющий используемого провайдера.

□ Имя сервера контроллера домена.

□ Номер порта серверного процесса.

□ Известное имя объекта для идентификации объекта, к которому требуется доступ.

□ Имя пользователя и пароль, если требуется другой пользователь для доступа к активному каталогу.

□ Можно также определить тип аутентификации, если требуется шифрование.

Протокол

Первая часть пути связывания определяет провайдера ADSI. Провайдер реализован как сервер COM; для идентификации можно найти идентификатор программы прямо в ключе

HKEY_CLASSES_ROOT
. Провайдеры, которых получают вместе с Windows 2000, перечислены в следующей таблице:

Протокол Описание
LDAP Сервер LDAP, такой как каталог Exchange и сервер активного каталога Windows 2000.
GC GC применяется для доступа к глобальному каталогу в активном каталоге. Он может использоваться для быстрых запросов.
IIS С помощью провайдера ADSI для IIS можно создавать новые web-сайты в каталоге IIS.
WinNT Чтобы получить доступ к базе данных пользователей старых доменов Windows NT 4, можно использовать провайдера ADSI для WinNT, Факт, что пользователи NT 4 имеют только несколько атрибутов, остается неизменным.
NDS Этот идентификатор программы используется для коммуникации со службами каталогов Novell.
NWCOMPAT С помощью NWCOMPAT можно получить доступ к старым каталогам Novell: Novell Netware 3.x.
  • Читать дальше
  • 1
  • ...
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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