Поделиться через


Начало работы с ASP для ADSI

ADSI можно использовать для доступа к данным каталога с помощью страницы ASP. Это может быть удобный способ выполнения задач администрирования и запросов с веб-страницы или предоставления сведений сотрудникам в интрасети.

Одним из преимуществ использования ADSI с ASP является то, что вы можете создать более широкий пользовательский интерфейс, так как вы можете использовать Visual Basic для создания приложения ADSI и предложить его пользователю через стандартную веб-страницу. Например, можно создать веб-страницу, которая позволяет сотрудникам ввести фамилию сотрудника и вернуть номер телефона для этого сотрудника или создать форму, которая позволяет сотрудникам обновлять личную информацию в базе данных кадров компании.

Код ASP начинается с "<%" и заканчивается "%>". Вы можете добавить код ADSI в виде VBScript или Visual Basic.

Чтобы создать страницу ASP, можно использовать редактор веб-страниц, Блокнот или другой текстовый редактор или систему разработки Microsoft Visual Studio .NET.

Перед запуском страницы ASP настройте приложение или сервер IIS в соответствии с инструкциями, приведенными в разделе "Проблемы проверки подлинности для ADSI" с ASP.

Простой пример ASP: перечисление объектов в контейнере

С помощью редактора веб-страницы создайте html-страницу, которая принимает различающееся имя объекта контейнера. Введите следующий пример кода.

<html>
<body>

<form method="POST" action="https://localhost/Enum.asp" ID="Form1">
<p>Distinguished name of container:<input type="text" name="inpContainer" size="100" ID="Text2"></p>
<p><input type="SUBMIT" value="GO" ID="Submit1" NAME="Submit1"></p>
</form>

</body>
</html>

Теперь эта страница может принять имя контейнера, переданное в него, и использовать ADSI для перечисления объектов в контейнере.

Создайте новую страницу ASP с именем Enum.asp и введите следующий пример кода. Сохраните эту страницу в корне локального веб-сервера.

<%@ Language=VBScript %>
<%
' Get the inputs.
containerName = Request.Form("inpContainer")
' Validate compName before using.

If Not ("" = containerName) Then
  ' Bind to the object.
  adsPath = "LDAP://" & containerName
  Set comp = GetObject(adsPath)

  ' Write the ADsPath of each of the child objects.
  Response.Write("<p>Enumeration:</p>")
  For Each obj in comp
    Response.Write(obj.ADsPath + "<BR>")
  Next
End If
%>