sharepoint2010基於表單認證

[SharePoint 2010]爲SharePoint 2010配置基於表單的身份認證

總體來說SharePoint 2010與2007配置基於表單的認證的方法幾乎一樣,不過仍然有些區別,例如在SP 2010中已不再提供單獨的基於表單的身份驗證,而是通過基於聲明的身份驗證來提供這一功能。本篇博客中小弟將對如何將SharePoint 2010配置爲基於表單的認證的方法進行說明。

在下面的例子中將爲一個SharePoint 2010 Web應用程序啓用基於聲明的身份驗證,並且同時使用AD和表單兩種驗證方式,使用數據庫儲存用戶憑據,通過IIS管理器來管理用戶。

1. 配置數據庫以儲存用戶憑據

如果大家曾爲SharePoint 2007配置過表單認證的話,那麼這步操作就是非常簡單的,因爲它與2007中完全一樣。我們仍然可以使用ASP.NET SQL Server安裝嚮導,也就是aspnet_regsql.exe這個工具來自動創建一個用於表單認證的數據庫和所有需要的表。

389-Figure-1

爲了安全起見,我們可以爲該數據庫單獨創建一個帳號,用於在用戶登錄時Web應用程序可使用此帳號來訪問本數據庫驗證用戶信息。

打開SQLServer Managerment Studio在對象資源管理器中展開“安全性”,右鍵選擇“登錄名”,點擊“新建登錄名”。

p_w_picpath

在添加完用戶後還需要爲該用戶授予訪問用於存儲用戶憑據的數據庫的權限。還是在對象資源管理器中選擇前面通過ASP.NET SQL Server安裝嚮導所創建的數據庫,展開該數據庫下的“安全性”,右鍵選擇“用戶”,點擊“新建用戶”,在“登錄名”中填寫剛剛建立的用戶,然後爲該用戶賦予db_owner的角色。

p_w_picpath

2. 將SharePoint 2010管理中心站點配置爲使用SQL Membership提供程序

SharePoint站點默認的都是採用基於AD的身份驗證,或許在這裏你要問爲什麼要將SharePoint管理中心配置爲表單驗證,一般情況下當我們要訪問管理中心時並不需要使用表單驗證的登錄方式啊。確實如此,不需要使用表單驗證的方式登錄管理中心,但是假如我們需要將某些存儲在數據庫中的用戶設爲網站集管理員或其它這一類的操作時,將管理中心配置爲使用SQL Membership提供程序就是必不可少的了。

打開IIS管理器,選擇“SharePoint Central Administration v4”,此時可以看到在中間的主頁上有很多的選項,在這裏我們要使用的則是“連接字符串”與“提供程序”。

p_w_picpath

首先打開“連接字符串”,在畫面右邊的操作菜單中點擊“添加”以創建一個新的用於連接到我們在上一步中新建的用於存儲用戶憑據的數據庫的連接字符串,並將其命名爲FBADB。

p_w_picpath

接着返回SharePoint Central Administration v4 主頁,打開提供程序頁,在此我們將爲管理中心站點添加角色提供程序與用戶提供程序。在“功能”下拉框中選擇“.NET角色”,然後點擊操作面板內的“添加”新建一個角色提供程序,將其類型設爲“SqlRoleProvider”,然後將“ConnectionStringName”這一項設置爲上一步中創建的那個連接字符串的名稱。

p_w_picpath

最後還需設置成員身份提供程序,還是在“功能“下拉框中,選擇“.NET用戶”,然後添加一個用戶提供程序,其類型爲“SqlMembershipProvider”,並且同樣將連接字符串設置爲我們剛剛新建的那條。

p_w_picpath

現在管理中心的有關配置已經完成了,我們可以打開管理中心的web.config文件來檢查下所修改的內容。修改後的web.config中將多出以下內容。

 

複製代碼
<roleManager>
<providers>
<add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />
</providers>
</roleManager>
<membership>
<providers>
<add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
</providers>
</membership>
複製代碼

 

3. 將Security Store Service配置爲使用SQL Membership提供程序

還是在IIS管理器中,在左側的連接面板中選擇“SharePoint Web Services”應用程序下的“SecurityTokenServiceAppliaation”,接下來的操作過程與剛剛配置管理中心站點的過程完全相同,這裏就不再重複了。

p_w_picpath

配置完成後可在其web.config文件中看到新加入瞭如下內容。

 

複製代碼
<system.web>
<roleManager>
<providers>
<add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />
</providers>
</roleManager>
<membership>
<providers>
<add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
</providers>
</membership>
</system.web>
複製代碼

 

4. 創建Web應用程序,並啓用基於聲明的身份驗證

現在我們就可以創建一個將要使用表單認證的web應用程序了。

打開SharePoint 2010管理中心,創建一個新的Web應用程序,將驗證方式選爲“基於聲明的身份驗證”。

p_w_picpath

在“聲明身份驗證類型”中勾選上“啓用Windows驗證”和“啓用基於窗體的身份驗證”,並在“ASP.NET成員身份提供程序名稱”與“ASP.NET角色管理器名稱”中分別填入剛剛在IIS管理器中爲管理中心和Security Store Service配置的FBAMembershipProvider和FBARoleProvider。

p_w_picpath

在Web應用程序創建完畢後還需創建一個網站集,此時因爲我們已經爲管理中心配置好了SqlMember Provider,所以在設置網站集管理員時已經可以使用那些存儲於數據庫中的用戶了。

p_w_picpath

5. 爲Web應用程序配置SQL Membership提供程序

在上一步中的web應用程序創建好後,我們還要爲其配置SQL Membership提供程序,就像對管理中心和Security Store Service所做的那樣,不過略微有些不同。

首先還是要創建連接字符串,添加角色提供程序與用戶提供程序,這三步與剛纔沒什麼不同。其實到了這裏已經可以通過表單認證的方式訪問我們剛剛所創建的那個網站集了,不過此時我們的用戶數據庫中還沒有數據,所以即使表單認證已經可以使用了,我們卻還是無法登錄。創建用戶的方法有很多,可以通過一些開源的小工具創建,也可以自己寫一個Web應用程序來完成新用戶的註冊,在本篇博客中我們則將使用IIS管理器來完成新用戶的創建。

p_w_picpath

首先在Web應用程序主頁上選擇“.NET角色”,點擊右側的“設置默認提供程序”,將默認的提供程序改爲我們剛剛創建的FBARoleProvider。此時在我們的數據庫中可能還沒有任何角色,點擊“操作”面板下的“添加”即可新建一個角色。

p_w_picpath

接着回到主頁,選擇“.NET用戶”,同樣的將默認提供程序設置爲FBAMembershipProvider,隨後我們就可以在IIS管理器中創建用戶了。

p_w_picpath

在進入“.NET角色”和“.NET用戶”界面時可能會彈出下圖所示的警告信息,該信息忽略即可,並不影響我們的正常使用。

p_w_picpath

還有一個需要注意的問題,當我們創建好角色和用戶後,必須將“.NET角色”和“.NET用戶”的默認提供程序改回去,否則在登錄網站時會出現下面這個錯誤。

p_w_picpath

默認的“.NET角色”提供程序名稱爲“c”,“.NET用戶”的默認提供程序爲“i”,改回來後讓我們再來看看。

p_w_picpath

OY,成功~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章