클레임 기반 웹 응용 프로그램에 대해 폼 기반 인증 구성(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 웹 응용 프로그램이 폼 기반 인증 또는 웹 SSO 인증을 사용하도록 구성된 경우 SharePoint Server 2010에서 Office SharePoint Server 2007 웹 응용 프로그램을 사용하려면 먼저 클레임 기반 인증으로 변환해야 합니다. Office SharePoint Server 2007 웹 응용 프로그램을 클레임 기반 인증으로 변환한 후에는 폼 기반 인증(또는 상황에 따라 웹 SSO 인증)에 대해 웹 응용 프로그램 영역을 구성합니다. 마지막 단계에서는 사용자 및 사용 권한을 SharePoint Server 2010으로 마이그레이션합니다.

이 문서의 내용:

  • 웹 응용 프로그램을 클레임 인증으로 변환

  • 중앙 관리를 사용하여 LDAP 공급자를 사용하도록 폼 기반 웹 응용 프로그램 구성

  • LDAP Web.Config 파일 구성

  • Windows PowerShell을 사용하여 LDAP 공급자를 사용하도록 폼 기반 웹 응용 프로그램 구성

  • SharePoint Server 2007에서 SharePoint Server 2010으로 사용자 및 사용 권한 마이그레이션

웹 응용 프로그램을 클레임 인증으로 변환

다음 절차의 단계에 따라 Windows PowerShell을 사용하여 기존 웹 응용 프로그램을 클레임 인증으로 변환합니다.

웹 응용 프로그램을 클레임 인증으로 변환하려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  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. 확인을 클릭하여 웹 응용 프로그램을 만듭니다.

LDAP Web.Config 파일 구성

웹 응용 프로그램을 성공적으로 만든 후(앞의 절차 설명 참조)에는 다음 Web.Config 파일을 수정합니다.

  • 중앙 관리 웹 응용 프로그램 Web.Config 파일

  • Security Token Service Web.Config 파일

  • 폼 기반 인증 클레임 기반 웹 응용 프로그램 Web.Config 파일

중앙 관리 Web.Config 파일을 구성하려면

  1. 명령 프롬프트에 INETMGR을 입력하여 IIS 관리자를 엽니다.

  2. IIS에서 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 파일을 저장하고 닫습니다.

Security Token Service Web.Config 파일을 구성하려면

  1. 명령 프롬프트에 INETMGR을 입력하여 IIS 관리자를 엽니다.

  2. SharePoint Web Services 사이트로 이동합니다.

  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. 명령 프롬프트에 INETMGR을 입력하여 IIS 관리자를 엽니다.

  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 파일의 기존 항목을 덮어쓰지 않습니다.

Windows PowerShell을 사용하여 LDAP 공급자를 사용하도록 폼 기반 웹 응용 프로그램 구성

다음 절차의 단계에 따라 Windows PowerShell을 사용하여 클레임 기반 웹 응용 프로그램에 대해 폼 기반 인증을 구성합니다.

Windows PowerShell을 사용하여 LDAP 공급자를 사용하도록 폼 기반 웹 응용 프로그램을 구성하려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  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. 인증 공급자와 웹 응용 프로그램을 성공적으로 만든 후에는 이 문서의 "LDAP Web.Config 파일 구성" 섹션에 나와 있는 항목 예를 사용하여 다음 Web.Config 파일을 수정합니다.

    • 중앙 관리 웹 응용 프로그램 Web.Config 파일

    • Security Token Service 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 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에 다음 명령을 입력합니다.

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

참고

명령줄 관리 작업을 수행하는 경우 Windows PowerShell을 사용하는 것이 좋습니다. Stsadm 명령줄 도구는 더 이상 사용되지 않지만 이전 제품 버전과의 호환성을 지원하기 위해 포함됩니다.