Курс лекций Составитель Соркина В. Е. Введение 12

Вид материалаКурс лекций

Содержание


Dim MyQueue as IOleDsPrintQueue
Подобный материал:
1   ...   49   50   51   52   53   54   55   56   ...   71

Поддержка LDAP

Среди других реализованных в Active Directory Интернет-стандартов —прямая поддержка протокола Lightweight Directory Access Protocol (LDAP).
LDAP (стандарт RFC2251) был разработан для доступа к службам каталогов как более простая альтернатива протоколу X.500. Компания Microsoft активно участвует в совершенствовании стандартов LDAP, и в программе Active Directory предусмотрена поддержка стандартов LDAP версии 2 и 3.

Поддержка стандартных форматов имен

Формат имен, применяемый в службах каталогов, важен как для пользователей, так и для приложений. Если пользователю или приложению требуется найти некоторый объект, пользователь или это приложение должны знать имя или какое-либо свойство этого объекта. Существует несколько общеупотребительных форматов имен, используемых в каталогах. Эти форматы определяются как официальными стандартами, так и стандартами де-факто, и Active Directory поддерживает большинство из них. Поэтому пользователи и приложения, работающие с Active Directory, могут пользоваться тем форматом, который им лучше всего знаком. Ниже рассматриваются некоторые форматы имен.

Имена RFC822

Имена RFC822 записываются в виде какое-то_имя@какой-то_домен и знакомы многим как интернетовские адреса электронной почты; например, JamesSmith@myco.com. Active Directory предоставляет для всех пользователей удобное имя в формате RFC822. Это имя может применяться как в качестве адреса электронной почты, который можно написать на визитной карточке, так и для входа в систему.

Имена LDAP URL и X.500

Active Directory поддерживает доступ по протоколу LDAP для любого клиента с поддержкой LDAP. Имена LDAP не так наглядны, как имена в Интернете, однако сложность именования LDAP обычно скрыта внутри приложения. В этом протоколе используется принцип именования X.500 под названием атрибутивное именование (attributed naming). Указатель LDAP содержит имя сервера, на котором работает служба каталогов Active Directory, а также атрибутивное имя объекта. Например:
LDAP://SomeServer.Myco.com/CN=jamessmith,OU=Sys,OU=Product,
OU=Division,DC=myco,DC=Com

Программные интерфейсы

Active Directory имеет мощные, гибкие и простые программные интерфейсы (API). Богатый спектр API для служб каталогов дает возможность разрабатывать разнообразные приложения и утилиты. В Active Directory входят три основных набора API:
  1. ADSI (Active Directory Service Interfaces), интерфейсы службы Active Directory — набор интерфейсов модели COM для управления многочисленными службами каталогов и составления запросов к ним.
  2. MAPI (Messaging API), интерфейс обмена сообщениями в стандарте Windows® Open Services Architecture.
  3. LDAP C API (RFC1823), информационный RFC, являющийся фактическим стандартом в программировании на C для приложений LDAP.
Ниже приводится описание каждого из этих API.

Active Directory Service Interfaces (ADSI)

Чтобы упростить создание приложений, работающих с Active Directory и другими каталогами, поддерживающими LDAP, компания Microsoft разработала интерфейсы службы Active Directory (ADSI). ADSI — это набор несложных расширяемых программных интерфейсов, которые можно использовать при написании приложений для доступа и управления следующими ресурсами:
 Active Directory;
 любыми каталогами, поддерживающими LDAP;
 другими службами каталогов, включая NDS.
ADSI входит в состав набора интерфейсов Open Directory Services Interface (ODSI), являющегося частью Windows® Open Services Architecture (WOSA) и предназначенного для работы с различными службами каталогов и составления запросов к ним. В настоящее время имеются объекты ADSI для Windows NT 4.x, Novell NetWare 3.x и 4.x, Active Directory и любой другой службы каталогов, которая поддерживает протокол LDAP.
Active Directory Service Interfaces изолируют от пользователя особенности служб каталогов различных сетевых систем и предоставляют единый набор интерфейсов для управления сетевыми ресурсами. Это сильно упрощает разработку распределенных приложений и администрирование распределенных систем. Разработчики и администраторы пользуются этими интерфейсами для регистрации ресурсов и управления ими в службе каталогов (причем не важно, в какой сетевой среде находится тот или иной ресурс). Таким образом, ADSI облегчает обычные административные задачи: добавление новых пользователей, управление принтерами и поиск ресурсов в распределенной компьютерной среде; кроме того, ADSI упрощает разработку взаимодействующих с каталогами приложений.
Интерфейсы ADSI предназначены для удовлетворения потребностей программистов на C и C++, системных администраторов и опытных пользователей. Разработка взаимодействующих с каталогами приложений при помощи ADSI становится проще и быстрее. В ADSI каталог представлен как набор COM-объектов, которые не только хранят информацию о ресурсах, но и могут обладать собственным поведением. Так, например, приложение может использовать объект ADSI PrintQueue как для того, чтобы получить информацию (например, характеристики очереди), так и для того, чтобы приостановить очередь на печать. На языке Visual Basic® это выглядит довольно просто:



Dim MyQueue as IOleDsPrintQueue
Set MyQueue = GetObject(“DS://Myco.com/Division/Product/Printers/MyPrinter”)
MyQueue.Pause



Поскольку ADSI-объекты существуют для многих популярных служб каталогов, интерфейсы ADSI являются идеальным средством для создания приложений, работающих с несколькими каталогами. Кроме того, программист может расширить возможности запроса, встроив поддержку интерфейсов OLE DB. Таким образом, утилиты, использующие интерфейсы OLE DB, могут пользоваться возможностями Active Directory.
ADSI-объекты разработаны для решения задач трех основных категорий специалистов:
  1. Разработчики. Как правило, разработчики будут использовать ADSI с такими языками программирования, как C++, хотя для созданий прототипов может использоваться и Microsoft Visual Basic. Разработчик может, например, написать приложение, которое будет управлять различными каталогами, сетевой печатью, создавать резервные копии баз данных и т. д.
  2. Системные администраторы. Системные администраторы скорее всего будут работать с ADSI с помощью языков сценариев или Microsoft Visual Basic, хотя при необходимости может быть использован и C/C++. Так, например, администратор, работающий с Active Directory, может написать сценарий для добавления в систему 100 новых пользователей и назначения им тех или иных прав доступа.
  3. Пользователи. Как и системные администраторы, пользователи работают с ADSI при помощи языков сценариев. К примеру, пользователь может написать сценарий для поиска всех заданий на печать в очереди и отображения состояния этих заданий.