2010년 7월 5일 월요일

SharePoint 2010 Form기반 인증 설정하기

SharePoint 2010 에서 Form 기반 인증 하는 방법을 정리 해 봅니다.

SharePoint 2010은 Form기반 인증할 때 Security Token Service를 통한 Claim 기반 인증을 사용 하도록 변경 되었습니다.

설정을 해야 하는 web.config 가 하나 더 있는 셈입니다.

단계를 정리 해 보자면

1. 해당 Web Application의 Web.config 수정

2. STS Web Service Web.config 수정

3. 중앙 관리 사이트 Web.config 수정

4. Web Application에 관리자 계정 권한 추가

이런 순서라고 보시면 됩니다.

일단 Form기반 인증을 설정할 Web Application을 생성 하겠습니다.

SharePoint 중앙관리 사이트를 열어 응용 프로그램 관리 메뉴로 들어 갑니다.

clip_image002

새 웹 응용 프로그램 만들기 창에서 인증 값을 "클레임 기반 인증"으로 설정 하고 클레임 인증 유형에 "FBA"를 선택 합니다. - 번역은 "양식 기반 인증" 이군요 제발 form을 양식으로 번역 하지 않았으면 좋겠습니다만-

ASP.NET 멤버 자격 공급자 이름 에 "LdapMemeber", ASP.NET 역할 자격 공급자 이름에 "LdapRole"이라고 설정 합니다. 이 값은 web.config 파일들에서 설정할 이름이기 때문에 그 provider이름과 맞춰만 준다면 상관 없습니다.

clip_image004

클레임 인증 유형에서 Windows 인증 사용은 그대로 둬야 합니다. 빼면 검색엔진이 이 사이트를 검색 할 수 없게 됩니다.

clip_image006

나머지 값은 그대로 두고 확인을 눌러 응용 프로그램을 만듭니다. 이후에 바로 사이트 모음을 바로 만드는게 좋습니다.

clip_image008clip_image010clip_image012

이제 Memebership과 Role Provider설정을 각 web.config 에 할 순서 입니다.

방금 생성한 Web Application의 web.config 파일을 열어 아래와 같이 추가 합니다.

clip_image014

중앙 관리 사이트의 web.config 파일도 열어서 아래와 같이 설정 합니다.

<membership>

<providers>

<add name="LdapMember" type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"

server="win2k8r2"

port="389"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="sAMAccountName"

userContainer="CN=Users,DC=Contoso,DC=Com"

userObjectClass="person"

userFilter="(ObjectClass=person)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn"/>

</providers>

</membership>

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

<providers>

<add name="LdapRole" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"

server="win2k8r2"

port="389"

useSSL="false"

groupContainer="CN=Users,DC=Contoso,DC=Com"

groupNameAttribute="cn"

groupNameAlternateSearchAttribute="samAccountName"

groupMemberAttribute="member"

userNameAttribute="sAMAccountName"

dnAttribute="distinguishedName"

groupFilter="(ObjectClass=group)"

userFilter="(ObjectClass=person)"

scope="Subtree"

/>

</providers>

</roleManager>

마지막으로 STS Web Service의 web.config 파일을 설정 합니다. STS 서비스는 아래 그림과 같은 경로에서 찾을 수 있습니다.

clip_image016

clip_image018

clip_image020

STS의 web.config파일을 설정 할 때는 roleManager element의 defaultProvider 속성 값을 빼야 합니다.

clip_image022

이제 중앙관리 사이트의 응용 프로그램 관리 메뉴로 돌아 옵니다.

추가한 응용프로그램에 form기반 인증의 관리자를 추가 해야 합니다.

아래와 같이 추가한 웹 응용프로그램을 선택하고 "사용자 정책"을 선택합니다.

clip_image024

clip_image026

영역선택에서 "기본"을 선택합니다.

clip_image028

사용자 선택에서 주소록 아이콘을 클릭합니다.

clip_image030

Administrator를 검색하면 아래와 같이 AD와 Form두개의 검색 결과가 나오는 것을 확인 해 볼 수 있습니다.

clip_image032

Form인증의 Administrator을 추가 하고 확인 한 후 빠져나옵니다.

이제 해당 응용프로그램을 브라우져를 통해 들어가 보면 아래와 같이 자격 증며을 선택 하는 화면이 나오고 "양식 인증"을 선택 하면 그 아래와 같이 기본 login 화면이 나타나게 됩니다.

clip_image034

clip_image036

제대로 인증에 성공하면 아래와 같이 환영 메시지를 볼 수 있습니다.

clip_image038

댓글 없음:

댓글 쓰기