SharePoint 2013 配置基於AD的Form認證


前 言

  配置SharePoint 2013基於AD的Form認證,主要有三步:

1. 修改管理中心的web.config;

2. 修改STS Application的web.config;

3. 修改Web應用程序的web.config並開啟FBA;

  首先,修改CA的web.config,一般在不知道端口號的時候(因為創建CA的時候,即使我們修改了端口號,創建后也會使用默認的那個,但是訪問卻使用我們填寫的那個),我們選擇在IIS中找到CA文件路徑,如下圖:

clip_image001

  通常我們應該先進行web.config的備份,然后進行修改,防止改錯以后無法還原;當然如果你有其他SharePoint環境,改錯以后覆蓋一下也是可以的;

clip_image002

  在</configSections>下面的位置加入如下圖節點,如下圖:

clip_image003

<connectionStrings>
  <add name="adconnection" connectionString="LDAP://spdev.sp.com.cn/CN=Users,DC=sp,DC=com,DC=cn" /> </connectionStrings>

  在web.config找到如下圖<membership>節點,用我們的membership覆蓋掉;

clip_image004

修改覆蓋為如下圖節點,內容附后,方便大家復制/粘貼:

clip_image005

<membership defaultProvider="ADMemberShip"> 
      <providers> 
        <add name="ADMemberShip" 
             type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
             connectionStringName="adconnection" enableSearchMethods="true" 
             attributeMapUsername="sAMAccountName" /> 
      </providers> 
</membership>

  特別要說的是ADMemberShip是將來填寫到Web App驗證提供程序的,connectionStringName是我們上一步添加的,名字一定不要錯!

  管理中心web.config到此修改完畢!

 

  接下來修改STS Application的web.config,同樣我們在IIS中瀏覽,找到web.config的位置(備份一定要記得,我就不多說了),如下圖:

clip_image006

  在如下</system.serviceModel>后面位置,插入連接串(內容同CA),如下圖:

clip_image007

  web.config下面沒有System.web節點,所以直接在上一個節點下面,加了一個<system.web>,並添加我們的<membership>節點(內容同CA),如下圖:

clip_image008

  到此STS Application的web.config也修改完畢,保存即可!

 

  然后修改web app的web.config,這個我們可以通過IIS找到,也可以直接去找,我就不多說了;修改web.config,添加連接串節點(內容同CA),如下圖:

clip_image009

  然后<membership>節點添加不同,因為默認已經有了一個,我們只需要把Add部分加進來即可(截圖不完整,具體內容復制CA的部分即可),如下圖:

clip_image010

  此時,我們重啟一下IIS,如下圖:

clip_image011

  然后去管理中心,管理Web應用程序,修改Web app的驗證提供程序,如下圖:

clip_image012

  在彈出的對話框中,點擊默認即可,如果你有多個區域,點擊你需要修改的區域即可,如下圖:

clip_image013

  勾選啟用基於窗體的身份認證(FBA),輸入ASP.NET成員身份提供程序名稱,其他均為默認選項,如下圖:

clip_image014

  然后去CA修改該網站集管理員,將我們ADForm賬號的一個用戶添加進去,好進行登錄測試,如下圖:

clip_image015

  選中我們要修改的網站集(剛剛修改過web.config web app下面的網站集),點擊人員選擇器的控件,我們查找一下人員;

clip_image016

  進行人員篩選,查找linyu,發現一個AD賬號,一個表單驗證賬號,說明配置成功了,如下圖:

clip_image017

  鼠標懸浮在linyu的名字上面,會有一個提示,提示的是該用戶的完整名字,是我們配置的ADForm賬號!

clip_image018

  進行登錄測試,發現跟單獨的Windows認證不同了,需要選擇登錄方式了,我們選擇表單認證即可,如下圖:

clip_image019

  進入Form認證的登陸頁面,輸入linyu(剛剛加入到網站集管理員的賬號)和相應的密碼,點擊登錄即可,如下圖;

clip_image020

  稍等片刻,發現登陸成功,右上角為linyu了,我們點擊linyu這個用戶名,會有下拉框,點擊我的設置,查看用戶具體信息;

clip_image021

  進入用戶信息,發現賬戶的完整格式,是我們配置的ADForm認證的賬號!至此,ADForm認證配置成功!

clip_image022

  特別的,據說沒有打sp1補丁的環境,如果FBA不是創建web app的時候就勾選,后來才修改的,需要執行一下PowerShell命令開啟,如下圖:

clip_image023

  我這里已經打了sp1補丁,沒辦法測試,所以有需要的自己測試一下吧,命令文本附后,方便大家復制。

$w = Get-SPWebApplication "http://<server>/"
$w.UseClaimsAuthentication = "True";
$w.Update()
$w.ProvisionGlobally()

總 結

  對於roleManager,我看到一些博客配置ADForm認證的時候,會修改這個配置,我覺得默認我們使用SharePoint自帶的一套roleManager,所以不需要配置。關於roleManager,我在博客最后附了一下他的作用,大家有興趣,自己了解一下吧。

  當然,如果是基於SQL的Form認證,我們為了方便管理,可能會自定義一套roleManager,那時我們就需要單獨配置了。

  最后,沒有什么特別想說的,本文是參照SharePoint 2010基於AD的Form認證配置的,其實在2007中,就已經很方便的進行配置了。

  配置 過程中,我盡量把完整的過程截圖表示出來,大家有需要,就參考一下吧。

附 錄

了解角色管理

https://msdn.microsoft.com/zh-cn/library/5k850zwb(v=vs.80).aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM