SharePoint2013基於Form(FBA)的AD認證登陸


1. 使用SharePoint2013實現基於AD的Form認證,首先創建一個Web Application,步驟如下:Central Administration -> Application Management -> Manage Web Application -> New Web Application;

填寫web application 端口,允許或者不允許Anonymous等等;

                       

雖然我們只用FORM方式認證,但是現在我們還沒有創建membership provider在,所以這里我們先只選擇 “Enable Windows Authentication”, 當我們創建好membership provider的時候,再回過頭來更改這里。然后“OK”, 系統自動創建web application,可能時間會有一點兒長,耐心等一會就好了。

 

2. 當web application建好后,在接下來就是在此app下面建立一個site collection. 在完成application創建后彈出的對話框中,選擇 “create site collection”, 進入此application的site collection創建頁面:

 

在彈出的對話框中,填入站點名字,選擇站點template,輸入站點管理員Primary site collection administrator, 然后“OK”,等待站點創建完成;

  

當如上幾步都准確完成后,接下來將要配制剛才創建的Web Application 來采用基於Form 認證的使用Active Directory Membership Provider(即AD認證方式);

有三個文件需要更改:

Central Administration site 的配制文件,

剛才創建的Web Application 的配制文件,

STS (SecurityTokenService) Application 的配制文件. 

(紅色標注的 domain 名請根據自己公司的域名填寫)

1)更改Central Administration web.config

打開 SharePoint 2013 Central Administration 站點,增加如下的內容: 

<connectionStrings>
   <add name=”ADConn"
        connectionString="LDAP://ABCD.net" />
</connectionStrings> 

membership provider增加如下: 

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

備注: connectionStrings 元素應放在<system.web></system.web> 節點的外部, membership provider 元素應該放在<system.web></system.web> 節點內。

2)更改 Web Application web.config 文件

打開新創建的web application 的配制文件, 添加如下的信息:

<connectionStrings>
   <add name=”ADConn"
        connectionString="LDAP://ABCD.net" />
</connectionStrings> 

membership provider增加如下(此config文件中已經有system.web的節點,因此只需把下面內容放入其中,把空的<membership> <providers> </providers></membership>刪除即可):

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

備注: connectionStrings 元素應放在<system.web></system.web> 節點的外部, membership provider 元素應該放在<system.web></system.web> 節點內, 同時你會發現這里已經有一個默認的membership 及 role provider, SPClaimsAuthMembershipProvider & SPClaimsAuthRoleProvider in Microsoft.SharePoint.Administration. 

保存並關閉 web.config 文件. 

3) 更改STS Application web.config 配制文件

進入目錄:“C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\SecurityToken”;

打開里面的web.config文件,

如果是第一次配制 claims聲明認證,里面沒有<system.web>的節點,所以里面的所有關於認證的信息都需要現在添加:

<connectionStrings>
   <add name=”ADConn"
        connectionString="LDAP://ABCD.net" />
</connectionStrings>

<system.web>

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

</system.web> 

添加好后,重啟IIS.

接下來要做的就是: 先前創建Web Application的時候,我們沒有選擇使用“Enable Form Base authentication”,因此按照如下步驟進去設置;

依次進入: central administration -> security -> general security 點擊“specify authentication provider”;

     

在web application 處選擇剛才創建的web application, 然后在“Zone”處點擊 “default”,

 

在打開的頁面中,選擇“Enable Form Based Authentication(FBA)”,並在“ASP.NET Membership Provider”文本框處填入前面所配制的membership provider name“ADMembers”;

 

 

保存“OK”。

再次配制管理員用戶, 所以用戶均來自ADMembers這個membership中,步驟:

依次打打: central administration -> Application management -> sites collections -> change sites collection administrator,

 

在新打開的窗口中的右側,選擇前面創建的web application, 在primary site collection administrator處選擇 “ADMembers”提供的用戶作為管理員。如下面所示,鼠標放在用戶名上可以看出來此用戶是 “ADMembers”提供的用戶。當保存后,這用戶將做為此web application的管理員。

 

接下來為web application添加其它用戶,操作方式為: web application->選擇創建的web application -> User Policy,

 

在彈出來的對話框選擇“Add User”,並賦予權限,保存。

 

 當用戶添加成功后,結果如下圖示:

 

 

接下來進入我們創建好的站點, 地址欄輸入站點網址訪問。

因為同時選擇了windows authentication和Form based authentication兩種方式,所以在訪問的時候系統默認提供一個可供選擇登陸模式的下拉列表,列出兩種可先的登陸方式:

 

選擇form認證方式,在彈出的對話框中輸入username及密碼就可能是登陸了:

 

登陸成功后的頁面如下兩圖所示(加載頁面與首頁):

 

 

 

至此FBA認證的AD完成,希望對大家有所幫助。

類似文章參考地址1:http://blogs.visigo.com/chriscoulson/configuring-forms-based-authentication-in-sharepoint-2013-part-1-creating-the-membership-database/

類似文章參考地址2:http://blogs.msdn.com/b/sridhara/archive/2010/01/07/setting-up-fba-claims-in-sharepoint-2010-with-active-directory-membership-provider.aspx

 


免責聲明!

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



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