共用方式為


針對 Project Server 2007 外部網路網站設定依據 SQL 成員資格提供者的表單架構驗證

更新日期: 2010年2月

 

上次修改主題的時間: 2010-02-24

針對您的 Microsoft Office Project Server 2007 網站設定依據 SQL 成員資格提供者的表單架構驗證時,必須執行下列步驟:

  • 設定基礎結構 這個步驟分成兩個部分:一是建立 SQL 成員資格提供者資料庫,以儲存使用者帳戶資訊;二是建立網際網路資訊服務 (IIS) 網站,讓經過表單驗證的使用者可以存取 Office Project Server 2007。

  • 更新 Web.config 檔案,以新增 SQL 成員資格提供者   在網站的 Web.config 檔案中加入指定 SQL 成員資格提供者的字串。

  • 設定經過表單驗證的使用者帳戶 針對所有要加入並匯入 SQL 成員資格提供者存放區且已經過表單驗證的使用者,建立一份 XML 清單。

Note附註:
如需設定依據 SQL 成員資格提供者的表單架構驗證詳細資訊,請參閱<為 Project Server 2007 設定 SQL 成員資格提供者表單驗證>。

設定基礎結構

若要設定基礎結構以將使用者加入至 SQL 成員資格提供者資料庫,必須執行下列步驟:

  • 建立 SQL 成員資格提供者資料庫

  • 為 SQL 成員資格提供者設定新網站

建立 SQL 成員資格提供者資料庫

下列程序會在 SQL Server 上建立 SQL 成員資格提供者資料庫,稱為 SQL 成員資格存放區。所有使用 SQL 成員資格提供者來存取 Office Project Server 2007 並經過表單驗證的帳戶必須將他們的帳戶資訊匯入到這個資料庫。您在建立 SQL 成員資格存放區時連線至 SQL Server 的 Windows 帳戶,即是稍後要將使用者加入至資料庫時所需使用的「表單管理員」帳戶。

在執行 SQL Server 的電腦上建立成員資格提供者資料庫

  1. 開啟 [命令提示字元] 視窗。

  2. 從任何目錄中,輸入:<Windows 目錄>\Microsoft .NET\Framework\v2.0.50727\aspnet_regsql.exe -A m -E

    這個命令會建立名為 aspnetdb 的資料庫,且 -E 選項會使用您現有的 Windows 認證進行驗證。

    下表說明其他可以與 aspnet_regsql.exe 命令搭配使用的重要參數。如需命令適用的所有選項完整清單,請使用 -? 選項。

    參數 描述

    -d

    指定預設值 (aspnetdb) 以外的資料庫名稱。請在參數後面輸入資料庫名稱。例如:-d aspnetdb_testdbs

    -S

    在執行 SQL Server 的遠端電腦上建立資料庫。請在參數後面輸入要建立資料庫的 SQL Server 執行個體名稱。例如:-s SQLServerInstance

    -E

    使用目前的 Windows 認證進行驗證。

    -U

    指定驗證所使用的 SQL Server 使用者名稱 (如果使用的是 SQL 驗證)。請在參數後面輸入使用者名稱。這個參數需要 -P 參數。

    -P

    指定驗證所使用的 SQL Server 密碼 (如果使用的是 SQL 驗證)。請在參數後面輸入密碼。這個參數需要 -U 參數。

指定網站的驗證方法

下列程序可讓您指定 SQL 成員資格提供者做為要用於外部網路網站的表單架構驗證方法。這個程序假設您已擴充 Web 應用程式來建立外部網路網站。如需擴充 Web 應用程式來建立外部網路網站的詳細資訊,請參閱<擴充 Project Server 外部網路環境的 Web 應用程式>。

為 SQL 成員資格提供者設定新網站

  1. 在 SharePoint 管理中心網站上,按一下 [應用程式管理]。在 [應用程式安全性] 區段中,按一下 [驗證提供者]。

  2. 在 [驗證提供者] 頁面上的 [Web 應用程式] 功能表上,確認已選取 Office Project Web Access 外部網路網站的 Web 應用程式。

  3. 針對剛才建立 [外部網路] 之擴充網站選取要用的區域。

  4. 在 [編輯驗證] 頁面上,選取 [驗證類型] 區段中的 [表單]。選取這個選項將會變更此頁面上可使用的其他設定選項。

  5. 在 [成員資格提供者名稱] 區段的 [成員資格提供者名稱] 方塊中,輸入成員資格提供者的名稱。輸入 AspNetSqlMembershipProvider

  6. 按一下 [儲存]。

更新 Web.config 檔案加入 SQL 成員資格提供者

您必須在剛建立之新 IIS 網站的 Web.config 檔案中加入 SQL 成員資格提供者。此外,還必須針對 Web 應用程式的 Windows 驗證網站在其 Web.config 檔案中進行相同變更。這些動作只要透過 IIS 管理員,然後在檔案中加入指向 SQL 成員資格提供者資料庫 (aspnetdb) 的項目,就能完成。

Note附註:
伺服器陣列中的所有前端網頁伺服器也都需要執行這個程序。

將 SQL 成員資格提供者加入至 Web.config 檔案

  1. 在前端網頁伺服器上開啟網際網路資訊服務管理員。若要執行這項操作,請按一下 [開始],按一下 [執行],在 [開啟] 方塊中輸入 Inetmgr,然後按一下 [確定]。

  2. 在 IIS 管理員中,展開電腦名稱,然後按一下 [網站] 資料夾。

  3. 在 [網站] 資料夾下方,您會看到先前建立的網站。以滑鼠右鍵按一下這個網站,然後按一下 [瀏覽]。

  4. 以滑鼠右鍵按一下 web.config,按一下 [開啟],然後使用編輯工具 (例如 [記事本]) 開啟檔案。

  5. 將下列項目加入至 Web.config 檔案 (最好加在 </ConfigSections> 區段後面)。

    <connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="LocalSqlServer" connectionString="data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb" />
    </connectionStrings>
    

    確定連接字串指向要儲存使用者帳戶的 SQL 成員資格提供者資料庫 (例如,Initial Catalog=aspnetdb)。

Note附註:
請針對 Web 應用程式的原始網站在其 Web.config 檔案中進行相同變更。伺服器陣列中的所有前端網頁伺服器也都需要進行這項變更。

設定經過表單驗證的使用者帳戶

透過 SQL 成員資格提供者設定經過表單驗證的使用者帳戶時,您需要執行下列動作:

  • 建立使用者帳戶的 XML 資料

  • 將使用者資料匯入至成員資格存放區

  • 將新的使用者帳戶加入至 Project Server 安全性群組

建立使用者帳戶的 XML 資料

PjFormsAuthUpgrade.exe 工具是與 Office Project Server 2007 一起安裝,它可讓您將經過表單驗證的使用者加入至 SQL 成員資格存放區。在這個步驟中,它可用來產生 XML 檔案,而這個檔案會包含您要加入至 SQL 成員資格存放區之使用者的帳戶資料,同時它也會自動產生存放區所需的其他資訊,例如 GUID、登入名稱和密碼。請使用下列步驟搭配 PjFormsAuthUpgrade.exe 工具,將新的使用者加入至 SQL 成員資格提供者資料庫。下列程序會採用不存在於 Project Web Access 的新使用者,並將它們加入至 Project Server 和 SQL 成員資格存放區。

Note附註:
PjFormsAuthUpgrade.exe 工具也可以用來從 Project Server 2003 將 Project Server 驗證過的帳戶移轉至 SQL 成員資格存放區,但這不在本文討論範圍內。如需詳細資訊,請參閱<為 Project Server 2007 設定 SQL 成員資格提供者表單驗證>。

為新的使用者建立 Users.xml 檔案

  1. 在 [命令提示字元] 視窗中,巡覽至 PJFormsAuthUpgrade.exe 所在的目錄 (預設位置是 Program Files\Microsoft Office Servers\12.0\Bin)。在命令提示字元中輸入下列文字,並根據您的環境自訂此命令:

    PjFormsAuthUpgrade.exe -createemptyusersfile -log forms.log -url https://localhost/pwa -usersfile users.xml
    
    選項 描述

    -createemptyusersfile

    建立 Users.xml 檔案。這個檔案可以當成範本,以加入新使用者。

    -log

    產生記錄檔,可讓您對執行 PjFormsAuthUpgrade.exe 工具時所發生的問題進行疑難排解。您可以指定記錄檔的路徑。如果您沒有指定路徑,檔案將會建立在工具所在的目錄中。

    -URL

    指定 Project Server 的 URL。

    -usersfile

    建立 Users.xml 檔案。您可以指定要建立檔案的路徑。如果您沒有指定路徑,檔案將會建立在 PjFormsAuthUpgrade.exe 工具所在的目錄中。

    執行命令。如果執行成功,Users.xml 檔案將會產生在 PjFormsAuthUpgrade.exe 工具所在的目錄中 (因為在這個範例中沒有指定路徑)。

  2. 在「記事本」中開啟 Users.xml 檔案。檔案應該類似下列所示:

    <?xml version="1.0"?>
    <Users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="https://schemas.microsoft.com/Project/Users.xsd">
    <CreateUser>
    <DisplayName>Display Name</DisplayName>
    <EmailAddr>newuser@project.com</EmailAddr>
    <LogonName>LogonName</LogonName>
    <Password>Password</Password>
    <Guid>ab3ad5fe-6b56-41e8-a9d8-44af71b91dc4</Guid>
    <PasswordQuestion>Password Question</PasswordQuestion>
    <PasswordAnswer>Password Answer</PasswordAnswer>
    </CreateUser>
    <UpdateUser>
    <DisplayName>Display Name</DisplayName>
    <EmailAddr>upgradeduser@project.com</EmailAddr>
    <LogonName>LogonName</LogonName>
    <Password>Password</Password>
    <Guid>2e8c4617-1f38-42d2-8496-9c85eb761b5f</Guid>
    <PasswordQuestion>Password Question</PasswordQuestion>
    <PasswordAnswer>Password Answer</PasswordAnswer>
    </UpdateUser>
    </Users>
    
  3. 根據新使用者的相關資訊來修改 Users.xml 檔案。檔案應類似下列範例:

    <?xml version="1.0"?>
    <Users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="https://schemas.microsoft.com/Project/Users.xsd">
    <CreateUser>
    <DisplayName>Jeff Smith</DisplayName>
    <EmailAddr>JSmith@test.com</EmailAddr>
    <LogonName>JeffSmith</LogonName>
    <Password>p@ssword1</Password>
    <Guid>ab3ad5fe-6b56-41e8-a9d8-44af71b91dc4</Guid>
    <PasswordQuestion>Password Question</PasswordQuestion>
    <PasswordAnswer>Password Answer</PasswordAnswer>
    </CreateUser>
    </Users>
    

    如果您想要加入其他使用者,請加入 <CreateUser> 區段並編輯這些區段,以加入新使用者資訊。請務必遞增使用 GUID,如此,可避免一個以上的使用者使用相同的 GUID (您也可以透過程式設計方式讓 XML 檔案中的 GUID 遞增)。

    要匯入至 Project Server 的資料現在就會包含在 Users.xml 檔案內。由於這是 XML 檔案,因此,您可以手動或程式設計方式進行修改。如果想要變更密碼、顯示名稱、電子郵件地址或工具自動產生的 GUID,則可採用任何所選的機制進行修改。

將使用者資料匯入至成員資格存放區

為新使用者的使用者建立 Users.xml 檔案之後,您可以使用 PJFormsAuthUpgrade.exe 工具將使用者匯入至 SQL 成員資格提供者資料庫。

在這個過程中,此工具也會根據任何新使用者帳戶資訊來更新 Office Project Server 2007。新使用者未加入至 Project Server 安全性群組之前,無法存取 Office Project Server 2007。

Note附註:
SQL 成員資格提供者資料庫的資料庫擁有者是唯一可以將使用者加入至存放區的帳戶。加入經表單驗證的使用者時,請確定是以這個帳戶登入。

執行 PjFormsAuthUpgrade.exe 工具,將使用者匯入至成員資格存放區

在 [命令提示字元] 視窗中,巡覽至 PjFormsAuthUpgrade.exe 所在的目錄,然後使用下列命令:

PjFormsAuthUpgrade.exe -log forms.log -url https://localhost/pwa -usersfile users.xml

例如:

PjFormsAuthUpgrade.exe -log c:\mydir\forms.log -url http://contoso/pwa -usersfile users.xml

新的使用者將會加入至 SQL 成員資格存放區和 Project Server。

將使用者加入至 Project Server 安全性群組

新使用者必須加入至 Project Server 安全性群組,才能透過 Office Project Web Access 登入 Office Project Server 2007。

使用 Project Web Access 將使用者加入至 Project Server 安全性群組

  1. 按一下 Project Web Access 首頁上的 [伺服器設定]。

  2. 在 [伺服器設定] 頁面上,按一下 [安全性] 區段中的 [管理使用者]。

  3. 在 [管理使用者] 頁面上的 [使用者名稱] 清單中,按一下您剛加入的新表單驗證使用者帳戶名稱。

  4. 在所選使用者的 [編輯使用者] 頁面上,在 [安全性群組] 區段的 [可用群組] 清單中,選取此使用者要加入的群組,然後按一下 [新增],將選取的群組移至 [包含這個使用者的群組] 清單中。

  5. 對使用者帳戶進行您要的任何其他變更,然後按一下 [儲存]。

透過命令提示字元,將新的使用者加入至 Project Server 安全性群組

您也可以使用 Stsadm.exe 命令列工具,透過命令提示字元將使用者加入至安全性群組。使用此工具時,您應該以 Office Project Web Access管理員群組中的使用者身分來執行工具。

透過命令提示字元,將新的使用者加入至 Project Server 安全性群組

  1. 在 [命令提示字元] 視窗中,移至下列目錄:Program Files\Common Files\Microsoft Shared\Web server extensions\12\BIN。

  2. 執行下列命令:

    stsadm -o projmodifyuseringroup -url http://<servername>/pwa -groupname*<您要加入使用者的群組>-username<表單使用者>*-addorremove add

    例如:

    stsadm -o projmodifyuseringroup -url http://contoso/pwa -groupname administrators -username Brad Sutton -addorremove add
    
    Note附註:
    當您使用命令列選項將使用者加入至 Project Server 安全性群組時,每次執行可執行檔只能將一個使用者加入至安全性群組。不過,管理員可以建立指令碼使程序自動化。

將使用者加入至安全性群組之後,使用者就可以使用 Project Web Access 表單驗證網站來存取 Project Server。

另請參閱

概念

設定 Project Server 2007 外部網路環境的使用者驗證
針對 Project Server 2007 外部網路網站設定依據 LDAP 資料儲存區的表單架構驗證