인증 예제

업데이트 날짜: 2009년 4월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2015-03-09

이 문서의 내용

  • SQL 멤버 자격 공급자

  • Active Directory 멤버 자격 공급자

  • LDAP 멤버 자격 공급자

  • AD FS를 사용한 웹 SSO

이 문서에는 많이 사용되는 몇 가지 폼 인증 공급자와 웹 SSO(Single Sign-On) 인증 공급자에 대한 예제 구성 설정이 포함되어 있습니다.

SQL 멤버 자격 공급자

다음 표에서는 ASP.NET 폼 인증을 사용하여 SQL 멤버 자격 공급자에 연결하기 위한 Web.config 파일 항목의 예제를 제공합니다.

구성 단계 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 파일과 중앙 관리 웹 사이트의 Web.config 파일을 모두 편집하여 멤버 자격 공급자 데이터베이스에 대한 connectionStrings 요소에 연결 정보를 지정해야 합니다.

예를 들면 다음과 같습니다.

<connectionStrings>

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

</connectionStrings>

*SQLSERVERMACHINE*을 SQL Server 멤버 자격 데이터베이스를 설치한 서버 컴퓨터의 이름으로 바꿉니다.

다음으로 membershipproviders 요소를 추가하여 Web.config 파일에 멤버 자격 공급자를 등록합니다. 기본 공급자는 이미 machine.config 파일에 등록되어 있으므로 <add> 요소보다 먼저 <remove> 요소를 추가해야 합니다.

예를 들면 다음과 같습니다.

<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 요소는 웹 응용 프로그램과 중앙 관리 사이트에 대한 Web.config 파일의 system.web 요소 내에 포함되어야 합니다.

역할 관리자를 등록합니다(선택 사항).

Web.config 파일의 system.web 요소에 roleManager 요소를 추가하여 ASP.NET의 기본 역할 공급자를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

<roleManager enabled="true" />

위의 구문에서는 machine.config 파일에 정의된 AspNetSqlRoleProvider를 사용합니다. 이 역할 관리자는 로컬 또는 원격 SQL Server 인스턴스에서 ASPNETDB 데이터베이스에 연결할 수 있습니다. 원격 서버의 SQL Server 데이터베이스를 역할 공급자 데이터베이스로 사용하려면 Web.config 파일을 편집하여 원격 데이터베이스 서버의 연결 정보를 지정해야 합니다.

예를 들면 다음과 같습니다.

<connectionStrings>

<add

name="SqlProviderConnection"

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

/>

</connectionStrings>

*SQLSERVERMACHINE*을 SQL 데이터베이스를 호스트하는 원격 서버의 이름으로 바꿉니다. 멤버 자격 공급자와 역할 관리자의 connectionStringName 요소 값을 동일하게 지정할 수 있으므로 역할 공급자에 대한 connectionStrings 요소를 새로 추가할 필요가 없습니다. 그러나 다른 데이터베이스를 역할 공급자로 사용하려면 역할 공급자에 대한 connectionStrings 요소를 별도로 추가해야 합니다.

다음으로 roleManagerproviders 요소를 추가하여 Web.config에 roleManager 공급자를 등록합니다. 기본 공급자는 이미 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 요소는 웹 응용 프로그램과 중앙 관리 웹 사이트에 대한 Web.config 파일의 system.web 요소 내에 포함되어야 합니다.

HTTP 모듈을 등록합니다.

해당 없음

Active Directory 멤버 자격 공급자

다음 표에서는 ASP.NET 폼 인증을 사용하여 Active Directory 디렉터리 서비스 멤버 자격 공급자를 이용하기 위한 Web.config 파일 항목의 예제를 제공합니다.

참고

이 방법은 단일 도메인 시나리오에만 적용됩니다.

구성 단계 Web.config 파일 항목 설명 및 예제

ASP.NET 폼 인증을 설정합니다.

중앙 관리의 인증 편집 페이지에서 특정 영역에 대한 인증 유형을 폼 인증으로 설정할 수 있습니다.

이렇게 하면 해당 영역에 대해 Web.config 파일의 인증 요소에 지정된 모드가 폼으로 자동 변경됩니다.

예를 들면 다음과 같습니다.

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

다음과 같이 폼 요소에 로그인 페이지 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에 액세스하는 데 응용 프로그램의 프로세스 ID가 사용됩니다.

다른 계정을 사용하여 Active Directory에 액세스해야 하는 경우 connectionUsername 특성과 connectionPassword 특성에 다른 계정 자격 증명을 지정할 수 있습니다. 이렇게 하면 일반 텍스트로 사용자 이름과 암호를 제공하게 됩니다. 따라서 이 구성 섹션은 암호화하는 것이 좋습니다. 자세한 내용은 다음 문서를 참조하십시오.

역할 관리자를 등록합니다(선택 사항).

HTTP 모듈을 등록합니다.

해당 없음

LDAP 멤버 자격 공급자

다음 표에서는 LDAP(Lightweight Directory Access Protocol) 멤버 자격 공급자에 ASP.NET 폼 인증을 사용하는 Web.config 파일 항목의 예제를 제공합니다.

구성 단계 Web.config 파일 항목 설명 및 예제

ASP.NET 폼 인증을 설정합니다.

중앙 관리의 인증 편집 페이지에 있는 폼 인증에서 특정 영역에 대한 인증 유형을 설정할 수 있습니다.

이렇게 하면 해당 영역에 대해 Web.config 파일의 인증 요소에 지정된 모드가 폼으로 자동 변경됩니다.

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

멤버 자격 공급자를 등록합니다.

membership 요소는 Web.config 파일의 system.web 요소 내에 포함되어야 합니다.

<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를 사용한 웹 SSO

Microsoft Windows Server 2003 R2 운영 체제에는 조직에서 사용자의 ID 정보를 안전하게 공유할 수 있도록 하는 AD FS(Active Directory Federation Services)가 도입되었습니다. AD FS는 단일 온라인 세션에서 여러 웹 응용 프로그램에 대해 사용자를 인증하는 웹 SSO(Single Sign-On) 기술을 제공합니다.

AD FS에는 다음 두 가지 멤버 자격 및 역할 공급자 쌍이 포함되어 있습니다.

  • SingleSignOnMembershipProvider/SingleSignOnRoleProvider   Windows Server 2003 R2에 포함된 표준 멤버 자격 공급자 및 역할 공급자입니다.

  • SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2   부분 신뢰 환경에서 작동하는 멤버 자격 공급자 및 역할 공급자입니다. 이러한 공급자는 Windows Server 2003 R2의 서비스 팩 2에 포함되어 있습니다.

SingleSignOnMembershipProvider/SingleSignOnRoleProvider

다음 표에서는 표준 공급자를 사용하는 웹 SSO AD FS 환경에 대한 Web.config 파일 항목의 예제를 제공합니다.

구성 단계 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 요소는 Web.config 파일의 system.web 요소 내에 포함되어야 합니다.

역할 관리자를 등록합니다(선택 사항).

<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 공급자 집합을 구현하는 경우 멤버 자격 공급자의 등록 설정과 역할 관리자의 등록 설정이 서로 다릅니다. 다음 표에서는 부분 신뢰 환경에서 작동하는 공급자를 사용한 웹 SSO AD FS 환경에 대한 Web.config 파일의 예제를 제공합니다.

구성 단계 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 요소는 Web.config 파일의 system.web 요소 내에 포함되어야 합니다.

역할 관리자를 등록합니다(선택 사항).

<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 관련 콘텐츠 (영문)를 참조하십시오.