Настройка проверки подлинности на основе форм для веб-приложения на основе утверждений (SharePoint Server 2010)

 

Применимо к: SharePoint Foundation 2010, SharePoint Server 2010

Последнее изменение раздела: 2016-11-30

Процедуры, описанные в этой статье, позволяют выполнять следующие действия.

  • Включать возможность настройки проверки подлинности на основе форм для веб-приложения Microsoft SharePoint Server 2010 на основе утверждений.

  • Обновлять существующие веб-приложения Office SharePoint Server 2007, которые были настроены для использования проверки подлинности на основе форм, для работы с SharePoint Server 2010.

После обновления на SharePoint Server 2010 веб-приложения Microsoft Office SharePoint Server 2007 будут настроены на методы входа прежних версий. Для обновления веб-приложений Office SharePoint Server 2007, которые были настроены на использование проверки подлинности Windows, никаких дополнительных действий не требуется. Однако для веб-приложений Office SharePoint Server 2007, в которых использовалась проверка подлинности на основе форм или проверка подлинности веб-службы единого входа, необходимо сначала выполнить преобразование в проверку подлинности на основе утверждений, прежде чем применять веб-приложения Office SharePoint Server 2007 в SharePoint Server 2010. После преобразования метода входа веб-приложений Office SharePoint Server 2007 в проверку подлинности на основе утверждений настройте зоны веб-приложений для проверки подлинности на основе форм (или проверки подлинности веб-службы единого входа, если она применима). Завершающее действие — перенос пользователей и разрешений в SharePoint Server 2010.

Содержание:

  • Преобразование веб-приложений для проверки подлинности на основе утверждений

  • Настройка веб-приложения на основе форм для использования поставщика LDAP с помощью центра администрирования

  • Настройка файлов Web.Config поставщика LDAP

  • Настройка веб-приложения на основе форм на использование поставщика LDAP с помощью Windows PowerShell

  • Перенос пользователей и разрешений из SharePoint Server 2007 в SharePoint Server 2010

Преобразование веб-приложений для проверки подлинности на основе утверждений

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

Преобразование веб-приложений для проверки подлинности на основе утверждений

  1. Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    $w = Get-SPWebApplication "http://<server>/"
    $w.UseClaimsAuthentication = "True";
    $w.Update()
    
    $w.ProvisionGlobally()
    

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Настройка веб-приложения на основе форм для использования поставщика LDAP с помощью центра администрирования

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

Чтобы настроить проверку подлинности на основе форм для веб-приложения на основе утверждений с помощью центра администрирования:

  1. Убедитесь, что учетная запись пользователя, используемая для выполнения этой процедуры — это учетная запись администратора семейства сайтов.

  2. В разделе Управление приложениями центра администрирования выберите Управление веб-приложениями.

  3. Нажмите кнопку Создать на ленте.

  4. В разделе Проверка подлинности диалогового окна Создание веб-приложения выберите Проверка подлинности на основе утверждений.

  5. В разделе Тип проверки подлинности выберите Включить поставщик ролей и контроля членства в ASP.NET.

  6. Введите имя поставщика членства и имя диспетчера ролей. В примере файла Web.Config, представленном в этой статье, имя поставщика членства — membership, а имя диспетчера ролей — rolemanager.

  7. Чтобы создать веб-приложение, нажмите кнопку ОК.

Настройка файлов Web.Config поставщика LDAP

После успешного создания веб-приложения (описанного в предыдущей процедуре) требуется изменить следующие файлы Web.Config:

  • файл Web.Config веб-приложения центра администрирования;

  • файл Web.Config службы маркеров безопасности;

  • файл Web.Config проверки подлинности на основе форм веб-приложения на основе утверждений.

Настройка файла Web.Config центра администрирования

  1. Запустите диспетчер IIS, введя в командной строке INETMGR.

  2. Перейдите на веб-сайт центра администрирования SharePoint.

  3. Щелкните правой кнопкой центр администрирования SharePoint и выберите команду Просмотр.

  4. Откройте файл Web.Config.

  5. Найдите раздел <Configuration> <system.web> и добавьте следующую запись:

<membership defaultProvider="AspNetSqlMembershipProvider">
      <providers>
        <add name="membership" 
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
             server="yourserver.com" 
             port="389" 
             useSSL="false" 
             userDNAttribute="distinguishedName" 
             userNameAttribute="sAMAccountName" 
             userContainer="OU=UserAccounts,DC=internal,DC=yourcompany,DC= distinguishedName (of your userContainer)" 
             userObjectClass="person" 
             userFilter="(ObjectClass=person)" 
             scope="Subtree" 
             otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" > 
      <providers>
        <add name="roleManager" 
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com" 
             port="389"
             useSSL="false"
             groupContainer="DC=internal,DC=yourcompany,DC= distinguishedName (of your groupContainer)"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="((ObjectClass=group)"
             userFilter="((ObjectClass=person)"
             scope="Subtree" />
      </providers>
 </roleManager>

Важно!

После добавления записи сохраните и закройте файл Web.Config.

Настройка файла Web.Config службы маркеров безопасности

  1. Запустите диспетчер IIS, введя в командной строке INETMGR.

  2. Откройте сайт Веб-службы SharePoint.

  3. Откройте дочерний сайт SecurityTokenServiceAppliction.

  4. Щелкните правой кнопкой центр администрирования SharePoint и выберите команду Просмотр.

  5. Откройте файл Web.Config.

  6. Найдите раздел <Configuration> <system.web> и добавьте следующую запись:

<membership>
      <providers>
        <add name="membership" 
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
             server="yourserver.com" 
             port="389" 
             useSSL="false" 
             userDNAttribute="distinguishedName" 
             userNameAttribute="sAMAccountName" 
             userContainer="OU=UserAccounts,DC=internal,DC=yourcompany,DC=com" 
             userObjectClass="person" 
             userFilter="(&amp;(ObjectClass=person))" 
             scope="Subtree" 
             otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    <roleManager enabled="true" > 
      <providers>
        <add name="rolemanager" 
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com" 
             port="389"
             useSSL="false"
             groupContainer="DC=internal,DC=yourcompany,DC=com"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="(&amp;(ObjectClass=group))"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree" />
      </providers>
    </roleManager>

Важно!

После добавления записи сохраните и закройте файл Web.Config.

Настройка файла Web.Config проверки подлинности на основе форм веб-приложения на основе утверждений

  1. Запустите диспетчер IIS, введя в командной строке INETMGR.

  2. Откройте сайт Формы утверждений.

  3. Щелкните правой кнопкой мыши Формы утверждений и выберите команду Просмотр.

  4. Откройте файл Web.Config.

  5. Найдите раздел <Configuration> <system.web>.

  6. Найдите раздел <membership defaultProvider="i"> и добавьте следующую запись:

<add name="membership" 
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
             server="yourserver.com" 
             port="389" 
             useSSL="false" 
             userDNAttribute="distinguishedName" 
             userNameAttribute="sAMAccountName" 
             userContainer="OU=UserAccounts,DC=internal, DC=yourcompany,DC=com" 
             userObjectClass="person" 
             userFilter="(&amp;(ObjectClass=person))" 
             scope="Subtree" 
             otherRequiredUserAttributes="sn,givenname,cn" />

Найдите раздел <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> и добавьте следующую запись:

<add name="roleManager" 
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com" 
             port="389"
             useSSL="false"
             groupContainer="DC=internal,DC=yourcompany,DC=com"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="(&amp;(ObjectClass=group))"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree" />

Важно!

После добавления записи сохраните и закройте файл Web.Config.

Предупреждение

Не перезаписывайте существующие записи в этом файле Web.Config.

Настройка веб-приложения на основе форм для использования поставщика LDAP с помощью Windows PowerShell

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

Настройка веб-приложения на основе форм для использования поставщика LDAP с помощью Windows PowerShell

  1. Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    $ap = New-SPAuthenticationProvider -Name "ClaimsForms" -ASPNETMembershipProvider "membership" -ASPNETRoleProviderName "rolemanager"
    $wa = New-SPWebApplication -Name "Claims Windows Web App" -ApplicationPool "Claims App Pool" -ApplicationPoolAccount "internal\appool"
      -Url https://servername -Port 80 -AuthenticationProvider $ap
    

    Примечание

    В качестве значения параметра ApplicationPoolAccount должна быть указана управляемая учетная запись в ферме.

  6. После успешного создания поставщика проверки подлинности и веб-приложения измените следующие файлы Web.Config с помощью примеров, предоставленных в разделе "Настройка файлов Web.Config поставщика LDAP" в данной статье:

    • файл Web.Config веб-приложения центра администрирования;

    • файл Web.Config службы маркеров безопасности;

    • файл Web.Config проверки подлинности на основе форм веб-приложения на основе утверждений.

  7. После изменения файлов Web.Config создайте SPClaimsPrinciple и семейство сайтов, как показано в следующем примере:

    $cp = New-SPClaimsPrincipal -Identity "membership:SiteOwner" -IdentityType FormsUser
    $sp = New-SPSite http://servername:port -OwnerAlias $cp.Encode() -Template "STS#0"
    

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Перенос пользователей и разрешений из SharePoint Server 2007 в SharePoint Server 2010

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

Перенос пользователей и разрешений из SharePoint Server 2007 в SharePoint Server 2010

  1. Убедитесь в соответствии следующим минимальным требованиям: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    $w = Get-SPWebApplication "http://<server>/"
    $w.MigrateUsers(True)
    

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.