Sharepoint/aaa

[Sharepoint] 폼인증(FBA) 설정

김컴맹 2015. 11. 30. 14:51
반응형



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="(&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=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="(&amp;(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="(&amp;(ObjectClass=group))"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree" />




9. 타겟이 되는 SP사이트의 Web.config 수정이 필요합니다.

<PeoplePickerWildcards> 영역에 아래 내용을 입력합니다.

<add key="membership" value="*" />

<add key="roleManager" value="*" />





10.  인증이 적용된 SP사이트에 접근하면 자격 증명 종류를 선택할 있는 페이지가 나타납니다

[양식 인증] 선택하면 됩니다.










반응형