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


Пример файлов Web.config для проверки подлинности на основе форм LDAP

Обновлено: Июнь 2007 г.

 

Последнее изменение раздела: 2015-02-27

При настройке проверки подлинности на основе форм вместо проверки подлинности с использованием хранилища данных LDAP для Microsoft Office Project Server 2007 необходимо указать местоположение хранилища данных и путь хранения учетных записей пользователя для сайта в структуре каталога. Эти настройки определяются с помощью файла конфигурации веб-сайта (Web.config). Те же изменения необходимо выполнить в файле Web.config для веб-сайта центра администрирования SharePoint.

В этой статье представлены два примера изменений, которые требуется внести в файлах Web.config для проверки подлинности на основе форм Project Server 2007 вместо проверки подлинности с использованием хранилища данных LDAP. Дополнительные сведения о выполнении этих изменений см. в разделе Создание сайта веб-клиента Project, в котором используется проверка подлинности на основе форм вместо хранилища данных LDAP.

Файл Web.config, пример 1

Далее приведен простой пример раздела <membership>, требуемого в файле Web.config для сайта на основе аутентификации форм.

В этом базовом примере имеется один сайт, на котором используется проверка подлинности на основе форм вместо единого поставщика контроля членства . Хранилище каталога LDAP находится на компьютере с именем "Contoso1" и сконфигурировано для использования порта 50000. Проверка подлинности будет применяться к объектам в userContainer в соответствии с userFilter. В этом случае, объектами будут выступать все элементы в контейнере, определенные следующими параметрами: CN=Users,OU=WSS,O=nondomain,C=US.

<membership defaultProvider="LDAPMembership">

<providers>

<add

name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider,Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral,PublicKeyToken=71E9BCE111E9429C"

server="Contoso1"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=Contoso,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" />

</providers>

</membership>

В следующей таблице описываются значения параметров, используемые в предыдущем примере файла Web.config.

Параметр Описание

name="LDAPMembership"

Указывает имя поставщика контроля членства. Это значение должно соответствовать имени поставщика контроля членства, указанному на странице "Поставщики проверки подлинности" в центре администрирования. В данном примере, "LDAPMembership" является значением для имени поставщика контроля членства.

server="Contoso1"

Указывает имя компьютера, на котором расположена служба LDAP. В данном примере, это значение утверждает, что служба каталогов расположена на сервере "Contoso1". Например, это может быть экземпляр службы ADAM (Active Directory Application Mode) или контроллер домена в среде службы каталогов Windows Server Active Directory.

port="50000"

Указывает порт, прослушиваемый LDAP. Порт по умолчанию — 389.

useSSL="false"

Указывает, что для подключения к хранилищу данных LDAP протокол SSL не используется.

Поддерживается только текущая анонимная привязка к поставщику LDAP. Убедитесь, что для этого значения установлено false.

userDNAttribute="distinguishedName"

Атрибут для различающегося имени пользователя. Это имя отображается в Windows SharePoint Services).

userNameAttribute="cn"

Атрибут объекта имени пользователя — в данном случае, общее имя (cn).

userContainer="CN=Users,OU=WSS,O=nondomain,C=US"

Определяет полное различающееся имя контейнера для пользователей.

userObjectClass="user"

Класс объекта пользователя — в данном случае, user.

userFilter="(ObjectClass=user)"

userFilter является стандартным фильтром для запросов LDAP с возможностью настройки для управления подгруппой пользователей, которые должны быть доступны для проверки подлинности.

В данном примере фильтр настроен для разрешения только объектов пользователей. В контейнере "OU" могут находиться как группы, так и другие объекты.

scope="Subtree"

Определяет область поиска выбранного.

otherRequiredUserAttributes="sn,givenname,cn" />

Другие возвращаемые атрибуты пользователя. sn — фамилия. givenname — имя. cn — связанное различающееся имя, составленное из других двух атрибутов (например, "John Doe").

Файл Web.config, пример 2

Далее приведен более сложный пример. В этом сценарии организация применяет два сайта, на которых используется проверка подлинности на основе форм — один для интрасети, другой для экстрасети. На каждом сайте используются разные поставщики контроля членства LDAP.

В этом сценарии, файлы Web.config для центра администрирования, сайта интрасети и сайта экстрасети должны быть сконфигурированы по отдельности. Файл Web.config каждого сайта должен содержать сведения для отдельного поставщика контроля членства LDAP, необходимые для доступа его пользователей к сайту.

Файл Web.config для центра администрирования

В данном сценарии, файл Web.config для центра администрирования должен содержать сведения об обоих поставщиках контроля членства (LDAPMembership и LDAPMembership2). Ниже представлен раздел <membership> файла Web.config для центра администрирования.

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

Файл Web.config для сайта интрасети

Ниже представлен раздел <membership> файла Web.config для сайта интрасети.

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

На сайте интрасети используется поставщик контроля членства LDAPMembership и выполняется проверка подлинности пользователей в контейнере CN=Users,OU=Support,O=fabricam,C=US.

Файл Web.config для сайта экстрасети

Поставщик контроля членства для сайта экстрасети определен как LDAPMembership2. Ниже представлен раздел <membership> файла Web.config для сайта экстрасети.

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

На сайте экстрасети используется поставщик контроля членства LDAPMembership2 и выполняется проверка подлинности пользователей в таком же контейнере, как LDAPMembership ("CN=Users,OU=Extranet,O=fabricam,C=US"). Однако на сайте экстрасети используется фильтр ="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))". При этом проверка подлинности пользователей выполняется только в группах ProjectUsers и WSSUsers, определенных в каталоге. Также обратите внимание на элемент &amp;. Как правило, он заменяет элемент &, используемый в запросах LDAP.

Формат разделов <membership> в примере 2 отличается от формата в примере 1. Он содержит те же атрибуты, но в другом порядке. Причина в том, что второй пример был изменен с помощью пользовательского интерфейса диспетчера служб IIS.

NoteПримечание:
Проблема возникла вследствие использования пользовательского интерфейса диспетчера служб IIS. Элемент <configuration> был перезаписан как <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">, и вследствие этого возникла ошибка приложения в Windows SharePoint Services. Дополнительные сведения см. в статье 917238 базы знаний (https://go.microsoft.com/fwlink/?linkid=92744&clcid=0x419).