共用方式為


LDAP 表單架構驗證的 Web.config 檔案範例

更新日期: 2007年6月

 

上次修改主題的時間: 2015-02-27

將 Microsoft Office Project Server 2007 設定成依據 LDAP 資料儲存區進行表單架構驗證時,您必須指定資料儲存區的位置,以及目錄結構中儲存網站使用者帳戶的位置。您需在網站的設定檔 (Web.config) 中指定這些設定,也必須在 [SharePoint 管理中心] 網站的 Web.config 檔案中進行相同的變更。

本文提供在 Project Server 2007 中依據 LDAP 資料儲存區進行表單架構驗證時,需對 Web.config 檔案進行變更的兩個範例。如需如何實作這些變更的詳細資訊,請參閱<建立依據 LDAP 資料儲存區進行表單架構驗證的 Project Web Access 網站>。

Web.config 檔案範例 1

下列是 <membership> 區段的簡單範例,該區段是採用表單架構驗證之網站所用的 Web.config 檔案不可或缺的。

在這個基本範例中,您有個單一網站,該網站是依據單一成員資格提供者進行表單架構驗證。LDAP 目錄儲存區位於名為「Contoso1」的電腦上,並且設定為使用連接埠 50000。驗證的對象是 userContainer 中符合 userFilter 的物件。在這個案例中,這些物件係指 CN=Users,OU=WSS,O=nondomain,C=US 所定義之容器中的所有項目。

<membership defaultProvider="LDAPMembership">

<providers>

<add

name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider,Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral,PublicKeyToken=71E9BCE111E9429C"

server="Contoso1"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=Contoso,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" />

</providers>

</membership>

下表說明上述 Web.config 檔案範例中使用的參數值。

參數 描述

name="LDAPMembership"

指定成員資格提供者名稱。這個值必須符合管理中心中 [驗證提供者] 頁面上指定的成員資格提供者名稱。在此範例中,"LDAPMembership" 即是成員資格提供者名稱的值。

server="Contoso1"

指定主控 LDAP 服務的電腦名稱。在此範例中,這個值表示目錄服務位於伺服器 "Contoso1" 中。例如,這可以是 Active Directory 應用程式模式 (ADAM) 的執行個體,或 Windows Server Active Directory 目錄服務環境中的網域控制站。

port="50000"

指定 LDAP 接聽的連接埠。預設的連接埠是 389。

useSSL="false"

指定 SSL 不會用來與 LDAP 資料儲存區通訊。

目前只支援匿名連結到 LDAP 提供者。請確定這個值設定為 false

userDNAttribute="distinguishedName"

使用者辨別名稱的屬性。這個名稱會出現在 Windows SharePoint Services 中。

userNameAttribute="cn"

使用者名稱物件的屬性,在這個案例中是一般名稱 (cn)。

userContainer="CN=Users,OU=WSS,O=nondomain,C=US"

為使用者定義容器的完整辨別名稱。

userObjectClass="user"

使用者物件的類別,在這個案例中是 user

userFilter="(ObjectClass=user)"

userFilter 是 LDAP 查詢的標準篩選器,可以用來控制哪些使用者應可供驗證。

此範例中的篩選器已設定為只解析使用者物件。您可以將群組和其他物件放入 OU 容器中。

scope="Subtree"

設定選取項目的搜尋範圍。

otherRequiredUserAttributes="sn,givenname,cn" />

其他要傳回的使用者屬性。sn 係指姓氏,givenname 為名字,而 cn 是由其他兩個屬性所構成的相對辨別名稱 (例如,「John Doe」)。

Web.config 檔案範例 2

下列是更複雜的範例。在這個案例中,此公司使用兩個採用表單架構驗證的網站,其中一個用於內部網路,另一個用於外部網路。每個網站使用不同的 LDAP 成員資格提供者。

在這個案例中,管理中心、內部網路和外部網路等三個網站的 Web.config 檔案必須以不同方式設定。每個網站的 Web.config 檔案都必須包含各自使用者存取該網站所需之特定 LDAP 成員資格提供者的相關資訊。

管理中心的 Web.config 檔案

在這個案例中,管理中心的 Web.config 檔案必須有兩個成員資格提供者 (LDAPMembershipLDAPMembership2) 的相關資訊。管理中心的 Web.config 檔案中之 <membership> 區段如下所示:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

內部網路網站的 Web.config 檔案

內部網路網站的 Web.config 檔案中之 <membership> 區段如下所示:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

內部網路網站使用的是「LDAPMembership」成員資格提供者,其驗證對象則是「CN=Users,OU=Support,O=fabricam,C=US」 容器中的使用者。

外部網路網站的 Web.config 檔案

外部網路網站的成員資格提供者是定義為 LDAPMembership2。外部網路網站的 Web.config 檔案中之 <membership> 區段如下所示:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" />

</providers>

</membership>

外部網路網站使用的是 LDAPMembership2 成員資格提供者,其驗證對象是 LDAPMembership ("CN=Users,OU=Extranet,O=fabricam,C=US") 所在容器中的使用者。不過,外部網路網站使用的篩選器是 ="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))",這將只驗證目錄所定義的 ProjectUsersWSSUsers 群組中的使用者。此外,請注意 &amp;,它取代了 LDAP 查詢中常用的 &

範例 2 中 <membership> 區段的格式與範例 1 的格式不同。兩者包含的屬性都相同,只是順序不同。這是因為第二個範例是以網際網路資訊服務管理員使用者介面進行編輯。

Note附註:
使用網際網路資訊服務管理員使用者介面會造成一個問題,也就是,<configuration> 元素會遭重寫成 <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">,而這會導致 Windows SharePoint Services 發生應用程式錯誤。如需詳細資訊,請參閱知識庫文章 917238 (https://go.microsoft.com/fwlink/?linkid=92744&clcid=0x404) (機器翻譯)。