為 Project Server 2007 設定 SQL 成員資格提供者表單驗證
更新日期: 2007年1月
上次修改主題的時間: 2015-02-27
本文內容:
SQL 成員資格提供者概觀
設定基礎結構
更新 Web.config 檔案加入 SQL 成員資格提供者
設定經過表單驗證的使用者帳戶
本文將告訴您,如何設定 SQL 成員資格提供者表單驗證,好讓使用者可以存取 Microsoft Office Project Server 2007。
SQL 成員資格提供者概觀
SQL 成員資格提供者是一套使用表單驗證來管理 Office Project Server 2007 使用者帳戶資訊的身分識別管理系統。
表單驗證與 Project Server 驗證 (Microsoft Office Project Server 2003 中提供的驗證機制) 非常類似,都是只要使用者輸入使用者名稱和密碼即可。兩者主要差異在於表單驗證的使用者及其密碼清單儲存在成員資格存放區,而不是儲存在 Project Server 資料庫。Active Directory、LDAP 存放區和 SQL 成員資格提供者存放區都可當作成員資格存放區。
如需 Office Project Server 2007 驗證的詳細資訊,請參閱<規劃 Project Server 2007 驗證方法>。
SQL 成員資格提供者存放區與 Office Project Server 2007 搭配使用需要執行下列動作:
設定基礎結構 這個步驟分成兩個部分:一是建立 SQL 成員資格提供者資料庫,以儲存使用者帳戶資訊;二是建立 IIS 網站,讓經過表單驗證的使用者可以存取 Project Server。
在 IIS 中更新新網站的設定檔 在網站的 Web.config 檔案中加入指定 SQL 成員資格提供者的字串。
設定使用者帳戶 針對所有要加入並匯入 SQL 成員資格提供者存放區之已經過表單驗證的使用者,建立一份 XML 清單。
附註: 若要設定 Office Project Server 2007 的 SQL 成員資格提供者,您必須在伺服器陣列設定 (相對於 [基本] 安裝) 中安裝 Office Project Server 2007,並且必須具備一個 Project Web Access 工作網站。
設定基礎結構
若要設定基礎結構以將使用者加入至 SQL 成員資格提供者資料庫,必須執行下列步驟:
建立 SQL 成員資格提供者資料庫。
擴充 Web 應用程式以建立網站,使經過表單驗證的使用者能夠存取 Project Server。
為 SQL 成員資格提供者設定新網站。
在執行 SQL Server 的電腦上建立 SQL 成員資格提供者資料庫
下列程序會建立 SQL 成員資格提供者資料庫,稱為 SQL 成員資格存放區。所有使用 SQL 成員資格提供者來存取 Office Project Server 2007 並經過表單驗證的帳戶必須將他們的帳戶資訊匯入到這個資料庫。
您在建立 SQL 成員資格存放區時登入 SQL Server 的 Windows 帳戶,會是稍後要將使用者加入至資料庫時所需使用的「表單管理員」帳戶。
在 SQL Server 上建立成員資格提供者資料庫
開啟 [命令提示字元] 視窗。
從任何目錄中輸入:<Windows 目錄>\Microsoft .NET\Framework\v2.0.50727\aspnet_regsql.exe -A m -E
這會建立名為 aspnetdb 的資料庫,且使用您現有的 Windows 認證進行驗證 (-E 選項)。
下表說明其他可以與 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 參數。
擴充 Web 應用程式
您可以擴充含有 Project Web Access 網站的 Web 應用程式來建立新的 IIS 網站,經過表單驗證的使用者可透過這個網站存取 Project Web Access。這個網站以及任何其他建立於同一個 Web 應用程式內但使用不同驗證機制的 IIS 網站,將會具有相同內容,因為它們共用相同的內容資料庫。例如,您的 Web 應用程式可能會透過使用 Windows 驗證的 IIS 網站將其內容公開給員工,不過,您也可以擴充 Web 應用程式,以提供使用表單驗證的獨立 IIS 網站,供廠商存取相同內容。由於有兩個獨立 IIS 網站,因此,使用者必須從不同連接埠號碼進行存取。例如:
http://contoso/pwa:80 (適用於 Windows 驗證)
http://contoso/pwa:81 (適用於表單驗證 (SQL Server))
當經過表單驗證的使用者嘗試登入 Project Web Access 時,請確認他們是否使用新表單驗證網站的 URL。
擴充 Web 應用程式
按一下 [開始],指向 [系統管理工具],然後按一下 [SharePoint 3.0 管理中心],以開啟 [SharePoint 管理中心] 網站。
在 [應用程式管理] 索引標籤上,選取 [建立或擴充 Web 應用程式]。
在下一個頁面中,選取 [擴充現有的 Web 應用程式]。
如果出現 [選取 Web 應用程式] 對話方塊,請選取您要擴充的網站 (例如,[預設的網站]),然後按一下 [確定]。
選取 [建立新的 IIS 網站]。
將連接埠號碼變更為 81 (或其他未使用的連接埠)。請確認 [描述] 和 [路徑] 號碼是否變更正確。
記下 [負載平衡 URL] 方塊中的 URL。這是新的表單驗證網站 URL。您可以使用方塊中提供的預設 URL 或輸入其他 URL。
按一下 [確定]。
為 SQL 成員資格提供者設定新網站
下列程序可讓您針對表單驗證和 SQL 成員資格提供者設定新的網站。
為 SQL 成員資格提供者設定新網站
從 [應用程式管理] 頁面中按一下 [驗證提供者]。
針對 [內部網路區域] 按一下 [Windows] 連結。
針對 [驗證類型],選取 [表單]。
在 [成員資格提供者名稱] 方塊中,輸入:
AspNetSqlMembershipProvider
按一下 [儲存]。
更新 Web.config 檔案加入 SQL 成員資格提供者
您必須在剛建立之新 IIS 網站的 Web.config 檔案中加入 SQL 成員資格提供者。此外,還必須針對 Web 應用程式的 Windows 網站在其 Web.config 檔案中進行相同變更。這些動作只要透過 IIS 管理員,然後在檔案中加入指向 SQL 成員資格存放區資料庫 (aspnetdb) 的項目,就能完成。
附註: |
---|
您必須在伺服器陣列的所有前端網頁伺服器上完成此項作業。 |
將 SQL 成員資格提供者加入至 Web.config 檔案
在前端網頁伺服器上開啟網際網路資訊服務管理員。若要執行這項操作,請按一下 [開始],選擇 [執行] 命令,在 [開啟] 方塊中輸入 Inetmgr,然後按一下 [確定]。
在 IIS 管理員中,展開電腦名稱,然後按一下 [網站] 資料夾。
在 [網站] 資料夾下方,您會看到先前建立的網站。以滑鼠右鍵按一下這個網站,然後選擇 [瀏覽]。
以滑鼠右鍵按一下 Web.config,選擇 [開啟],然後使用編輯工具 (例如「記事本」) 開啟檔案。
將下列項目加入至 Web.config (最好加在
</ConfigSections>
區段後面):<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb" />
</connectionStrings>
上述範例以
127.0.0.1
做為data source
參數的值。如果 SQL Server 安裝在本機電腦上,這就是正確值。如果 SQL Server 安裝在其他電腦上 (例如,名為「Computer1」的電腦和名為「Project」的 SQL Server 執行個體),則<add>
元素應該是:<add name="LocalSqlServer" connectionString="data source=Computer1\Project;Integrated Security=SSPI;Initial Catalog=aspnetdb" />
確定連接字串指向要儲存使用者帳戶的 SQL 成員資格提供者資料庫 (例如,
Intial Catalog=aspnetdb
)。附註: 請針對 Web 應用程式的 Windows 網站在其 Web.config 檔案中進行相同變更。伺服器陣列中的所有前端網頁伺服器也都需要進行這項變更。
設定經過表單驗證的使用者帳戶
透過 SQL 成員資格提供者設定經過表單驗證的使用者帳戶時,您需要執行下列動作:
建立使用者帳戶的 XML 資料
將使用者資料匯入至成員資格存放區
將新的使用者帳戶加入至 Project Server 安全性群組
建立使用者帳戶的 XML 資料
PjFormsAuthUpgrade.exe 工具會與 Office Project Server 2007 一起安裝,它可讓您將經過表單驗證的使用者加入至 SQL 成員資格存放區。在這個步驟中,可針對您要加入至 SQL 成員資格存放區之使用者產生包含帳戶資料的 XML 檔案。
附註: |
---|
在後續步驟中,也會使用 PjFormsAuthUpgrade.exe 工具將使用者資料匯入至 SQL 成員資格提供者資料庫。 |
附註: |
---|
不支援在基本或摘要驗證的網站上執行 PjFormsAuthUpgrade.exe 工具。 |
PjFormsAuthUpgrade.exe 工具可以用來產生一個名為 Users.xml 的檔案。這個工具可以用來新增兩種使用者類型:
自 Project Server 2003 移轉、經 Project Server 驗證過的使用者
經過 Office Project Server 2007 表單驗證的新使用者
針對自 Project Server 2003 移轉、經 Project Server 驗證的使用者建立 Users.xml 檔案
Office Project Server 2007 不支援 Project Server 2003 中使用的 Project Server 驗證方法。不過,如果您要使用 Office Project Server 2007,則可以從 Project Server 2003 移轉經 Project Server 驗證的使用者,然後將他們加入至 SQL 成員資格存放區,讓他們可透過表單驗證存取 Office Project Server 2007。
附註: |
---|
如需移轉至 Office Project Server 2007 的詳細資訊,請參閱<簡介:Project Server 2007 移轉指南>。 |
這個程序中的第一個步驟是使用 PJFormsAuthUpgrade.exe 工具來產生 Users.xml 檔案。這個檔案將包含需移轉至 SQL 成員資格存放區的所有使用者。
PJFormsAuthUpgrade.exe 工具會執行下列動作:
根據您的 Office Project Server 2007 URL,搜尋自 Project Server 2003 移轉、經 Project Server 驗證的所有使用者。
產生包含每個使用者帳戶資訊的 XML 檔案,並且自動產生存放區所需的其他資訊,例如 GUID、登入名稱和密碼。
下列程序說明如何產生 Users.xml 檔案。
附註: |
---|
如果您已將經 Project Server 驗證的使用者從 Project Server 2003 移轉至 Office Project Server 2007,才需要執行這些步驟。如果您只要將新的使用者加入至 SQL 成員資格提供者資料庫,請至下一節<為新的使用者設定 Users.xml 檔案>。 |
為移轉的使用者建立 Users.xml 檔案
在 [命令提示字元] 視窗中,巡覽至 PJFormsAuthUpgrade.exe 所在的目錄 (預設位置是 Program Files\Microsoft Office Servers\12.0\Bin)。在命令提示字元中輸入下列文字,並根據您的環境自訂此命令:
PjFormsAuthUpgrade.exe -createusersfile -log forms.log -passwordlength 8 -url https://localhost/pwa -usersfile users.xml
選項 描述 -createusersfile
對自 Project Server 2003 移轉、經 Project Server 驗證的帳戶建立 Users.xml 檔案。
-log
產生記錄檔,可讓您對執行 PjFormsAuthUpgrade.exe 工具時所發生的問題進行疑難排解。您可以指定記錄檔的路徑。如果您沒有指定路徑,檔案將會建立在 PjFormsAuthUpgrade.exe 工具所在的目錄中。
-passwordlength
指定將為每個帳戶產生的隨機密碼長度。您可以在檔案中編輯這個密碼,或者允許使用者透過 SQL 成員資格存放區藉由密碼問題選項重設這個密碼。
附註: 經 Project Server 驗證的密碼並不會從 Project Server 2003 移轉至 Office Project Server 2007。 -URL
指定您的 Office Project Server 2007 URL,這是在搜尋移轉帳戶資料庫時所需的 URL。
-usersfile
建立 Users.xml 檔案。您可以指定檔案的路徑。如果您沒有指定路徑,檔案將會建立在 PjFormsAuthUpgrade.exe 工具所在的目錄中。
例如:
PjFormsAuthUpgrade.exe -createusersfile -log c:\mydir\forms.log -passwordlength 8 -url http://contoso/pwa -usersfile users.xml
請使用針對您環境所自訂的選項來執行此命令。如果命令執行成功,Users.xml 檔案將會產生在 PjFormsAuthUpgrade.exe 工具所在的目錄中 (因為沒有指定路徑)。
附註: 如果 Users.xml 檔案中沒有傳回任何使用者,表示工具找不到任何已移轉且經 Project Server 驗證過的使用者需要移轉至 SQL 成員資格存放區。 在「記事本」中開啟 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">
<UpdateUser>
<DisplayName>Bob Sutton</DisplayName>
<EmailAddr>BobSutton@contoso.com</EmailAddr>
<LogonName>Bob_Sutton</LogonName>
<Password>?rBt8Rv(</Password>
<Guid>c4572c86-7452-4d29-9d28-1a8a49ad5f89</Guid>
<PasswordQuestion>Please add a password question?</PasswordQuestion>
<PasswordAnswer> Please add a password question?</PasswordAnswer>
</UpdateUser>
<UpdateUser>
<DisplayName>Peter Krebbs</DisplayName>
<EmailAddr>PeterKrebbs@contoso.com</EmailAddr>
<LogonName>Peter_Krebbs</LogonName>
<Password>!rHtNv)</Password>
<Guid>d2372c86-7452-4d29-8d67-1a8a49ad5f34</Guid>
<PasswordQuestion>Please add a password question?</PasswordQuestion>
<PasswordAnswer> Please add a password question?</PasswordAnswer>
</UpdateUser>
</Users>
將資料加入至
<PasswordQuestion>
和<PasswordAnswer>
元素。為了讓使用者可以在忘記密碼時重設密碼,SQL 成員資格提供者資料庫可能需要用到這些元素。如果您不希望使用者使用自動產生的密碼,請更新檔案以變更密碼。
儲存檔案。
附註: 如果您不規劃將新的使用者加入至 SQL 成員資格存放區,請略過下一節,逕至<將使用者資料匯入至成員資格存放區>一節。
為新的使用者設定 Users.xml 檔案
如果您不要加入任何自 Project Server 2003 移轉而來的使用者,請使用下列步驟,將新的使用者加入至 SQL 成員資格提供者資料庫。下列程序需要不存在於 Project Web Access 的新使用者,並將他們加入至 Project Server 和 SQL 成員資格存放區。
為新的使用者設定 Users.xml 檔案
在 [命令提示字元] 視窗中,巡覽至 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 工具時所發生的問題進行疑難排解。您可以指定記錄檔的路徑。如果您沒有指定路徑,檔案將會建立在 PjFormsAuthUpgrade.exe 工具所在的目錄中。
-URL
指定 Project Server 的 URL。
-usersfile
建立 Users.xml 檔案。您可以指定要建立檔案的路徑。如果您沒有指定路徑,檔案將會建立在 PjFormsAuthUpgrade.exe 工具所在的目錄中。
執行命令。如果命令執行成功,Users.xml 檔案將會產生在 PjFormsAuthUpgrade.exe 工具所在的目錄中 (因為沒有指定路徑)。
在「記事本」中開啟 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>
根據新使用者的相關資訊來修改 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 安全性群組之前,他們都無法存取 Project Server。
已移轉且經 Project Server 驗證的使用者帳戶也會在 Office Project Server 2007 中根據他們新的帳戶資訊進行更新。已移轉的使用者應仍是現有安全性群組的成員。
附註: |
---|
SQL 成員資格資料庫的資料庫擁有者可以將使用者加入至 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 中的帳戶資訊也會經過更新。
新的使用者將會加入至 SQL 成員資格存放區和 Project Server。
將使用者加入至 Project Server 安全性群組
到目前為止,新的和已移轉的 Project Server 2003 使用者都已在 SQL 成員資格存放區和 Project Server 中。不過,新的使用者必須加入至 Project Server 安全性群組,才能透過 Project Web Access 登入 Project Server。如前所述,已移轉的 Project Server 2003 使用者將仍然屬於現有的安全性群組。
將新的使用者帳戶加入至 Project Server 安全性群組
在 Project Web Access 中,移至 [伺服器設定] 頁面。
在 [伺服器設定] 頁面中,移至 [安全性] 區段,然後按一下 [管理使用者]。
在 [管理使用者] 頁面上的 [使用者名稱] 清單中,按一下您剛加入的新表單驗證使用者帳戶名稱。
在此使用者的 [編輯使用者] 頁面中,移至 [安全性群組] 區段。從 [可用群組] 清單中,選取此使用者要加入的群組,然後按一下 [新增],使群組移至 [包含這個使用者的群組] 清單。
對此使用者帳戶進行任何其他變更,然後按一下 [儲存]。
您也可以使用 Stsadm.exe 工具,透過命令提示字元將使用者加入至安全性群組。使用此工具時,您應該以具有 Project Web Access 管理員權限的使用者身分來執行工具。
透過命令提示字元,將新的使用者加入至 Project Server 安全性群組
在 [命令提示字元] 視窗中,移至下列目錄:Program Files\Common Files\Microsoft Shared\Web server extensions\12\BIN。
執行下列命令:
stsadm -o projmodifyuseringroup -url http://<servername>/pwa -groupname <group to which you want to add user> -username <forms user> -addorremove add
例如:
staadm -o projmodifyuseringroup -url http://contoso/pwa -groupname administrators -username Brad Sutton -addremove add
附註: |
---|
當您使用命令列選項將使用者加入至 Project Server 安全性群組時,每次執行可執行檔只能將一個使用者加入至安全性群組。不過,管理員可以建立指令碼使程序變成自動化。 |
將使用者加入至安全性群組之後,使用者就可以使用 Project Web Access 表單驗證網站來存取 Project Server。
使用表單驗證登入網站
當使用者登入 Project Web Access 時,他們必須使用表單驗證網站 (也就是您先前擴充 Web 應用程式時所建立的網站) 的 URL。
登入 Project Web Access
在網頁瀏覽器中,移至表單驗證網站 URL:http://<電腦名稱>:<連接埠號碼>/PWA
使用您的使用者名稱和密碼,以新加入的使用者身分登入。
另請參閱
概念
其他資源
規劃驗證方法 (Windows SharePoint Services)
規劃 Web 應用程式的驗證設定 (Windows SharePoint Services)
驗證範例 (Windows SharePoint Services)