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完成,希望對大家有所幫助。