西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程軟件使用 → SharePoint 2010與2007的區(qū)別 配置基于表單的身份認(rèn)證

SharePoint 2010與2007的區(qū)別 配置基于表單的身份認(rèn)證

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2011/1/23 9:15:35字體大小:A-A+

作者:佚名點擊:914次評論:2次標(biāo)簽: SharePoint

  • 類型:辦公軟件大。61KB語言:英文 評分:3.3
  • 標(biāo)簽:
立即下載

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

在下面的例子中將為一個SharePoint 2010 Web應(yīng)用程序啟用基于聲明的身份驗證,并且同時使用AD和表單兩種驗證方式,使用數(shù)據(jù)庫儲存用戶憑據(jù),通過IIS管理器來管理用戶。

1. 配置數(shù)據(jù)庫以儲存用戶憑據(jù)

如果大家曾為SharePoint 2007配置過表單認(rèn)證的話,那么這步操作就是非常簡單的,因為它與2007中完全一樣。我們?nèi)匀豢梢允褂肁SP.NET SQL Server安裝向?qū),也就是aspnet_regsql.exe這個工具來自動創(chuàng)建一個用于表單認(rèn)證的數(shù)據(jù)庫和所有需要的表。

為了安全起見,我們可以為該數(shù)據(jù)庫單獨創(chuàng)建一個帳號,用于在用戶登錄時Web應(yīng)用程序可使用此帳號來訪問本數(shù)據(jù)庫驗證用戶信息。

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

在添加完用戶后還需要為該用戶授予訪問用于存儲用戶憑據(jù)的數(shù)據(jù)庫的權(quán)限。還是在對象資源管理器中選擇前面通過ASP.NET SQL Server安裝向?qū)鶆?chuàng)建的數(shù)據(jù)庫,展開該數(shù)據(jù)庫下的“安全性”,右鍵選擇“用戶”,點擊“新建用戶”,在“登錄名”中填寫剛剛建立的用戶,然后為該用戶賦予db_owner的角色。

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

SharePoint站點默認(rèn)的都是采用基于AD的身份驗證,或許在這里你要問為什么要將SharePoint管理中心配置為表單驗證,一般情況下當(dāng)我們要訪問管理中心時并不需要使用表單驗證的登錄方式啊。確實如此,不需要使用表單驗證的方式登錄管理中心,但是假如我們需要將某些存儲在數(shù)據(jù)庫中的用戶設(shè)為網(wǎng)站集管理員或其它這一類的操作時,將管理中心配置為使用SQL Membership提供程序就是必不可少的了。

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

首先打開“連接字符串”,在畫面右邊的操作菜單中點擊“添加”以創(chuàng)建一個新的用于連接到我們在上一步中新建的用于存儲用戶憑據(jù)的數(shù)據(jù)庫的連接字符串,并將其命名為FBADB。

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

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

現(xiàn)在管理中心的有關(guān)配置已經(jīng)完成了,我們可以打開管理中心的web.config文件來檢查下所修改的內(nèi)容。修改后的web.config中將多出以下內(nèi)容。

<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管理器中,在左側(cè)的連接面板中選擇“SharePoint Web Services”應(yīng)用程序下的“SecurityTokenServiceAppliaation”,接下來的操作過程與剛剛配置管理中心站點的過程完全相同,這里就不再重復(fù)了。

配置完成后可在其web.config文件中看到新加入了如下內(nèi)容。

<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. 創(chuàng)建Web應(yīng)用程序,并啟用基于聲明的身份驗證

現(xiàn)在我們就可以創(chuàng)建一個將要使用表單認(rèn)證的web應(yīng)用程序了。

打開SharePoint 2010管理中心,創(chuàng)建一個新的Web應(yīng)用程序,將驗證方式選為“基于聲明的身份驗證”。

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

在Web應(yīng)用程序創(chuàng)建完畢后還需創(chuàng)建一個網(wǎng)站集,此時因為我們已經(jīng)為管理中心配置好了SqlMember Provider,所以在設(shè)置網(wǎng)站集管理員時已經(jīng)可以使用那些存儲于數(shù)據(jù)庫中的用戶了。

5. 為Web應(yīng)用程序配置SQL Membership提供程序

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

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

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

接著回到主頁,選擇“.NET用戶”,同樣的將默認(rèn)提供程序設(shè)置為FBAMembershipProvider,隨后我們就可以在IIS管理器中創(chuàng)建用戶了。

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

還有一個需要注意的問題,當(dāng)我們創(chuàng)建好角色和用戶后,必須將“.NET角色”和“.NET用戶”的默認(rèn)提供程序改回去,否則在登錄網(wǎng)站時會出現(xiàn)下面這個錯誤。

默認(rèn)的“.NET角色”提供程序名稱為“c”,“.NET用戶”的默認(rèn)提供程序為“i”,改回來后讓我們再來看看。

OY,成功~~

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(2)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)