Примеры проверки подлинности

Содержание:

  • Поставщик контроля членства SQL

  • Поставщик контроля членства Active Directory

  • Поставщик контроля членства LDAP

  • Единый вход через Интернет со службами AD FS

В этой статье содержатся примеры параметров конфигурации для нескольких поставщиков проверки подлинности с помощью форм и веб-службы единого входа.

Поставщик контроля членства SQL

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

Этапы настройки Описание и пример записей файла Web.config

Включение проверки подлинности с помощью форм ASP.NET.

На странице "Изменение параметров проверки подлинности" веб-сайта центра администрирования SharePoint можно включить проверку подлинности с помощью форм для определенной зоны.

При этом для режима, указанного в разделе проверки подлинности файла Web.config для этой зоны, автоматически устанавливается использование форм.

К примеру,

<authentication mode="Forms">
</authentication>

Регистрация поставщика контроля членства.

Если в качестве базы данных поставщика контроля членства используется программное обеспечение баз данных Microsoft SQL Server на локальном сервере, а в качестве имени поставщика контроля членства указывается "AspNetSqlMembershipProvider", может потребоваться внесение дополнительных изменений в файл Web.config. В этом случае, если файл machine.config содержит правильную конфигурацию для поставщика AspNetSqlMembershipProvider, его можно использовать для служб Windows SharePoint Services без внесения каких-либо изменений.

Если конфигурация по умолчанию в файле machine.config неприменима (например, если базу данных SQL Server необходимо использовать на удаленном сервере), файлы Web.config необходимо изменить как для веб-приложения, так и для веб-сайта центра администрирования, указав сведения о подключении в элементе connectionStrings для базы данных поставщика контроля членства.

К примеру,

<connectionStrings>

<add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" />

</connectionStrings>

Замените *SQLSERVERMACHINE* именем сервера, на котором установлена база данных членства SQL Server.

Затем добавьте элементы membership и providers для регистрации поставщика контроля членства в файле Web.config. Так как поставщик по умолчанию уже зарегистрирован в файле machine.config, элемент <remove> необходимо добавить перед элементом <add>.

К примеру,

<membership defaultProvider="AspNetSqlMembershipProvider">

<providers>

<remove name="AspNetSqlMembershipProvider" />

<add connectionStringName="SqlProviderConnection" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</membership>

Элемент membership следует включить в элемент system.web файла Web.config как для веб-приложения, так и для сайта центра администрирования.

Регистрация диспетчера ролей (необязательно).

Добавив элемент roleManager к элементу system.web файла Web.config, можно использовать поставщик ролей по умолчанию для ASP.NET. Пример:

<roleManager enabled="true" />

В приведенном примере синтаксиса используется поставщик AspNetSqlRoleProvider, определенный в файле machine.config. Этот диспетчер ролей может подключаться к базе данных ASPNETDB локального или удаленного экземпляра SQL. Чтобы использовать базу данных SQL Server на удаленном сервере в качестве базы данных поставщика ролей, в файл Web.config необходимо внести изменения и указать сведения о подключении для удаленного сервера баз данных.

К примеру,

<connectionStrings>

<add

name="SqlProviderConnection"

connectionString="server=SQLSERVERMACHINE; database=aspnetdb; Trusted_Connection=True"

/>

</connectionStrings>

Замените *SQLSERVERMACHINE* именем удаленного сервера с базой данных SQL. То же значение элемента connectionStringName можно можно указать как для поставщика контроля членства, так и для диспетчера ролей, поэтому добавлять новый элемент connectionStrings для поставщика ролей не требуется. Однако чтобы использовать другую базу данных для поставщика ролей, для него следует добавить отдельный элемент connectionStrings.

Затем необходимо добавить элементы roleManager и providers, чтобы зарегистрировать поставщик roleManager в файле Web.config. Поскольку поставщик по умолчанию уже зарегистрирован в файле machine.config, элемент <remove> необходимо добавить перед элементом <add>.

К примеру,

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">

<providers>

<remove name="AspNetSqlRoleProvider" />

<add connectionStringName="SqlProviderConnection" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</roleManager>

Элемент roleManager следует включить в элемент system.web файла Web.config как для веб-приложения, так и для веб-сайта центра администрирования.

Регистрация модуля HTTP.

Неприменимо

Поставщик контроля членства Active Directory

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

Примечание

Этот вариант возможен только в конфигурации одного домена.

Этапы настройки Описание и пример записей файла Web.config

Включение проверки подлинности с помощью форм ASP.NET.

На странице "Изменение параметров проверки подлинности" центра администрирования SharePoint можно включить проверку подлинности с помощью форм для определенной зоны.

При этом для режима, указанного в разделе проверки подлинности файла Web.config для этой зоны, автоматически устанавливается использование форм.

К примеру,

<authentication mode="Forms">
</authentication>

В элементе "Forms" можно также указать URL-адрес страницы входа, например:

<authentication mode="Forms">
    <forms loginUrl="/_layouts/login.aspx"></forms>
</authentication>

Регистрация поставщика контроля членства.

Прежде чем использовать сервер Active Directory для поставщика контроля членства, необходимо внести изменения в файл Web.config, чтобы зарегистрировать поставщик контроля членства. Для этого в элементе connectionStrings необходимо указать сведения для подключения к серверу Active Directory.

К примеру,

<connectionStrings>

<add name="ADConnectionString"

connectionString=

"LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " />

</connectionStrings>

Замените *DirectoryServer* именем сервера каталогов членства.

<membership defaultProvider="MembershipADProvider">

<providers>

<add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

connectionStringName="ADConnectionString"/></providers>

</membership>

Примечание

В предыдущем примере отсутствуют данные учетной записи. Если данные учетной записи не указаны, то для доступа к Active Directory будет использоваться удостоверение процесса приложения.

Если для доступа к Active Directory требуется другая учетная запись, ее данные можно указать в атрибутах connectionUsername и connectionPassword. В этом случае имя пользователя и пароль указываются в виде открытого текста, поэтому этот раздел конфигурации рекомендуется зашифровать. Дополнительные сведения см. в следующих статьях:

Регистрация диспетчера ролей (необязательно).

Регистрация модуля HTTP.

Неприменимо

Поставщик контроля членства LDAP

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

Этапы настройки Описание и пример записей файла Web.config

Включение проверки подлинности с помощью форм ASP.NET.

На странице "Изменение параметров проверки подлинности" центра администрирования SharePoint можно включить проверку подлинности с помощью форм для определенной зоны.

При этом для режима, указанного в разделе проверки подлинности файла Web.config для этой зоны, автоматически устанавливается использование форм.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Регистрация поставщика контроля членства.

Элемент membership должен находиться в элементе system.web файла Web.config.

<membership defaultProvider="LdapMembershipProvider">

<providers>

<add

name="LdapMembership"

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

server="DC"

port="389"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="sAMAccountName"

userContainer="CN=Users,DC=userName,DC=local"

userObjectClass="person"

userFilter="(|(ObjectCategory=group)(ObjectClass=person))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn"

/>

</providers>

</membership>

Для соответствия среде значения, заданные для атрибутовserver и userContainer, необходимо изменить.

Регистрация диспетчера ролей (необязательно).

<roleManager defaultProvider="LdapRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".PeopleDCRole">

<providers>

<add

name="LdapRoleProvider"

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

server="DC"

port="389"

useSSL="false"

groupContainer="DC=userName,DC=local"

groupNameAttribute="cn"

groupMemberAttribute="member"

userNameAttribute="sAMAccountName"

dnAttribute="distinguishedName"

groupFilter="(ObjectClass=group)"

scope="Subtree"

/>

</providers>

</roleManager>

Для соответствия среде значения, заданные для атрибутовserver и groupContainer, необходимо изменить.

Регистрация модуля HTTP.

Неприменимо

Единый вход через Интернет со службами AD FS

В операционную систему Microsoft Windows Server 2003 R2 были включены службы федерации Active Directory (AD FS), обеспечивающие организациям безопасное совместное использование сведений об удостоверении пользователя. Службы AD FS построены на технологиях единого входа через Интернет, используемых для проверки подлинности пользователя при обращении к нескольким веб-приложениям во время сеанса единого входа.

В AD FS включены следующие две пары поставщиков контроля членства и ролей:

  • SingleSignOnMembershipProvider/SingleSignOnRoleProvider   Стандартный поставщик контроля членства и поставщик ролей, включенный в Windows Server 2003 R2.

  • SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2   Поставщик контроля членства и поставщик ролей, используемые в средах с частичным доверием. Эти поставщики включены в пакет обновления 2 (SP2) для Windows Server 2003 R2.

SingleSignOnMembershipProvider/SingleSignOnRoleProvider

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

Этапы настройки Описание и пример записей файла Web.config

Включение проверки подлинности с помощью форм ASP.NET.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Регистрация поставщика контроля членства.

<membership defaultProvider="SingleSignOnMembershipProvider">

<providers>

<add

name="SingleSignOnMembershipProvider"

type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</membership>

В атрибуте fs замените *FEDERATIONSERVER* фактическим именем сервера.

Элемент membership должен находиться в элементе system.web файла Web.config.

Регистрация диспетчера ролей (необязательно).

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider">

<providers>

<add

name="SingleSignOnRoleProvider"

type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</roleManager>

В атрибуте fs необходимо заменить *FEDERATIONSERVER* фактическим именем сервера.

Регистрация модуля HTTP.

<httpModules>

<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2

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

Этапы настройки Описание и пример записей файла Web.config

Включение проверки подлинности с помощью форм ASP.NET.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Регистрация поставщика контроля членства.

<membership defaultProvider="SingleSignOnMembershipProvider2">

<providers>

<add name="SingleSignOnMembershipProvider2"

type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs=https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx

/>

</providers>

</membership>

В атрибуте fs замените *FEDERATIONSERVER* фактическим именем сервера.

Элемент membership должен находиться в элементе system.web файла Web.config.

Регистрация диспетчера ролей (необязательно).

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">

<providers>

<add

name="SingleSignOnRoleProvider2"

type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</roleManager>

В атрибуте fs необходимо заменить FEDERATIONSERVER фактическим именем сервера.

Регистрация модуля HTTP.

<httpModules>

<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

Загрузить эту книгу

Для упрощения чтения и печати эта тема включена в следующую загружаемую книгу:

См. полный список доступных книг на веб-сайте Загружаемые материалы для Office SharePoint Server 2007.