1. SharePoint 중앙 관리 사이트에서 인증을 변경할 사이트를 확인합니다.
- 해당 테스트는 SharePointTest로 진행합니다.
2. 인증 공증자를 선택하고, 기본 영역을 선택합니다.
3. 익명 액세스 사용을 체크합니다.
좌측 설명을 보니,
익명 액세스가 꺼져 있는 경우 폼인증이 제대로 인증하지 못할 수 있다고 하네요.
4. FBA(양식 기반 인증) 사용을 체크합니다. Form Basic Authentication
ASP.NET 멤버 자격 공급자 이름(ASP.NET Membership provider name)
: membership 입력
ASP.NET 역할 관리자 이름(ASP.NET Role manager name)
: roleManager 입력
5. SharePoint 중앙관리 사이트의 Web.config 수정이 필요합니다.
<system.web> 하위 <membership> 영역에 아래 내용을 입력합니다.
<membership defaultProvider="AspNetSqlMembershipProvider"> <providers> <add name="membership" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.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=15.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> |
6. SharePoint 중앙관리 사이트의 Web.config 수정이 필요합니다.
<PeoplePickerWildcards> 영역에 아래 내용을 입력합니다.
<add key="membership" value="*" /> <add key="roleManager" value="*" /> |
7. STS(SecurityTokenServiceApplication) 사이트의 web.config 수정이 필요합니다.
<system.web> 하위 <membership> 영역에 아래 내용을 입력합니다
중앙관리자에서 등록되었던 RoleManager의 defaultProvider는 넣지 않습니다.
<membership> <providers> <add name="membership" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.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="(&(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=15.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="(ObjectClass=group)" userFilter="(ObjectClass=person)" scope="Subtree" /> </providers> </roleManager> |
8. 타겟이 되는 SP사이트의 web.config 수정이 필요합니다.
<system.web> 하위 <membership> 영역에 아래 내용을 입력합니다
<add name="membership" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.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="(&(ObjectClass=person))" scope="Subtree" otherRequiredUserAttributes="sn,givenname,cn" /> <add name="roleManager" type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.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="(&(ObjectClass=group))" userFilter="(&(ObjectClass=person))" scope="Subtree" /> |
9. 타겟이 되는 SP사이트의 Web.config 수정이 필요합니다.
<PeoplePickerWildcards> 영역에 아래 내용을 입력합니다.
<add key="membership" value="*" /> <add key="roleManager" value="*" /> |
10. 폼 인증이 적용된 SP사이트에 접근하면 자격 증명 종류를 선택할 수 있는 페이지가 나타납니다.
[양식 인증]을 선택하면 됩니다.