共用方式為


自訂 HTML 表單

發佈時間: 2009年11月

適用於: Forefront Threat Management Gateway (TMG)

Forefront TMG 提供了各種驗證方法,可讓您套用至存取發行網頁伺服器之用戶端的網頁發行規則。選取表單型驗證時,系統會將使用者導向至 HTML 表單以提供驗證認證。Forefront TMG 會提供用於表單型驗證的預設表單設定。您可以自訂這些表單設定,以便針對不同的發行網站提供不同的登入表單外觀。

本主題將提供 Forefront TMG 表單設定的概觀,並且描述如何自訂它們。

HTML 表單的概觀

下列各節將描述 Forefront TMG 隨附的 HTML 表單設定,以及 Forefront TMG 表單設定目錄的結構:

  • Forefront TMG 表單設定

  • 表單設定目錄

Forefront TMG 表單設定

Forefront TMG 包含一些預先設定的表單設定,位於下列資料夾:

  • ISA:包含表單型驗證可能需要的所有 HTML 表單,如網頁接聽程式或 Forefront TMG 網頁發行規則所指定。

  • Exchange:包含 Microsoft Exchange 網頁用戶端存取表單型驗證可能需要的所有 HTML 表單。

Forefront TMG 支援三種 HTML 表單類別,這些類別會組織成表單設定:

  • HTML:適用於標準瀏覽器。

  • cHTML:適用於支援 cHTML 的瀏覽器,例如 i-mode 行動裝置。

  • xHTML:適用於支援 xhtml-mp 的瀏覽器,例如 Microsoft Windows Mobile® 和其他行動裝置。

注意

Forefront TMG 會依據行動用戶端提供的使用者代理程式標頭,判斷要提供的表單類型。

每個表單設定都包含用戶端進行表單型驗證時可能需要的所有 HTML 表單,例如登入表單、登出表單和 SecurID 表單。根據預設,當您建立新的網頁接聽程式,並使用 HTML 表單型驗證做為選取的驗證方法時,系統就會自動選取表單設定。Forefront TMG 會依照您針對網頁接聽程式指定的驗證方法,呈現下列其中一種登入表單類型:

  • 密碼 (Password) 表單:使用者在表單上輸入使用者名稱及密碼 (Password)。這些是 Active Directory、輕量型目錄存取通訊協定 (LDAP) 和遠端驗證撥入使用者服務 (RADIUS) 認證驗證所需的認證。

  • 密碼 (Passcode) 表單:使用者在表單上輸入使用者名稱及密碼 (Passcode)。這些是 SecurID 和 RADIUS 單次密碼驗證所需的認證。

  • 密碼 (Passcode)/密碼 (Password) 表單:使用者輸入使用者名稱與密碼 (Passcode) 以及使用者名稱與密碼 (Password)。系統會使用使用者名稱及密碼 (Passcode) 向使用 SecurID 或 RADIUS 單次密碼 (Password) 驗證方法的 Forefront TMG 進行驗證,而使用者名稱及密碼 (Password) 則是用於委派。當系統管理員選擇在表單中收集其他認證時,就會使用這個表單。

建立網頁接聽程式和網頁發行規則之後,您就可以指定使用不同的表單設定。此外,網頁發行規則的 HTML 表單內容可能會覆寫其網頁接聽程式的表單設定。表單設定是由下列項目所決定:

  • 在網頁接聽程式中指定的表單設定。

  • 在網頁發行規則中指定的表單設定。

如需有關如何建立表單設定的詳細資訊,請參閱建立自訂表單設定。

表單設定目錄

\%Forefront TMG Installation Directory%\Templates\CookieAuthTemplates 目錄包含 Forefront TMG 隨附的 ISAExchange 表單目錄。這些目錄的下層子目錄包含各種表單設定目錄。

每個表單設定目錄都包含完整的 HTML 表單設定 (.htm 檔案)。當 Forefront TMG 顯示 HTML 表單時,它會將這些 .htm 檔案中的預留位置取代成對應至使用者瀏覽器語言設定之 strings.txt 檔案 (位於語言 (nls) 目錄的語言資料夾中) 中的字串,如下所示。

ISA 目錄

當您建立網頁發行或 Microsoft SharePoint 發行規則時,系統就會自動使用 ISA 目錄中的表單設定。

Exchange 目錄

當您使用 [新增 Exchange 發行規則精靈] 來建立網頁用戶端郵件存取發行規則時,系統就會針對該項規則自動選取 Exchange HTML 表單設定。Exchange 資料夾只包含 HTML 表單設定。若要針對 Exchange 網頁用戶端存取使用 cHTML 或 XHTML 表單設定,您必須建立 Exchange\cHTML 或 Exchange\xHTML 目錄,然後將 Exchange\HTML 的內容複製到這些目錄。

注意

若要使用 Exchange 發行規則精靈,請在 [伺服器管理] 的主控台樹狀目錄中,按一下 [防火牆原則],然後在 [工作] 索引標籤上,按一下 [發行 Exchange Web 用戶端存取]

語言目錄

語言目錄 (nls) 包含單一子目錄,其中具有每個支援語言的 strings.txt 檔案。當 Forefront TMG 顯示 HTML 表單時,它會將這些 .htm 檔案中的預留位置取代成符合 Accept-Language 標頭 (用戶端瀏覽器所傳送) 語言之 strings.txt 檔案中的字串。

當 Forefront TMG 無法比對用戶端瀏覽器所傳送的 Accept-Language 標頭時,Forefront TMG 就會使用預設表單設定目錄中的 strings.txt 檔案。請注意,strings.txt 是此檔案的英文版。

表單設定目錄權限

當您安裝 Forefront TMG 時,系統會自動設定表單目錄的權限。請勿變更這些權限:

  • 完全控制:套用至本機 Administrators 群組的成員。

  • 唯讀:套用至 Network Service 帳戶,讓 Forefront TMG 在 Network Service 帳戶底下執行時只能讀取這個目錄的內容。

為了保留繼承自上層資料夾的權限,建議您將檔案複製到表單設定目錄,而非將它們移至此目錄。

自訂表單設定

在某些情況下,您可能會想要針對部分發行網站的表單提供不同的外觀。這類外觀都是由表單設定所定義。您可以修改現有的表單設定,也可以建立自己的自訂表單設定。

以下各節說明:

  • 自訂文字字串

  • 使用自訂圖形

  • 建立自訂表單設定

注意

  • 自訂表單時,您必須保留所有原始表單欄位,以及 Forefront TMG 取代成隱藏欄位的所有預留位置。所有輸入標記 <input …> 和表單標記 <form…> 都必須原封不動地保留在 .htm 檔案中,否則這些表單將無法運作。此外,您無法變更 strings.txt 檔案的格式。

  • 系統會在升級期間覆寫 Exchange 和 ISA 資料夾。如果您自訂了 HTML 表單,請務必先備份已更新的檔案,然後再套用任何 Hotfix、Service Pack 或升級。

  • 如果您正在執行 Forefront TMG Enterprise Edition,就應該對每個 Forefront TMG 陣列成員的 Forefront TMG 表單設定進行任何變更。

  • 您必須重新啟動 Firewall 服務,這些變更才會生效。

  • 匿名使用者可以存取在表單自訂目錄中找到的所有檔案。因此,這些檔案不應該包含任何機密資訊。

自訂文字字串

當 Forefront TMG 顯示 HTML 表單時,它會將這些 .htm 檔案中的預留位置取代成用戶端瀏覽器語言設定中指定或網頁接聽程式中指定語言之 strings.txt 檔案中的字串。您可以透過修改 strings.txt 檔案中對應至 .htm 檔案中預留位置的字串,完成文字字串自訂。

注意

  • 自訂 strings.txt 檔案的內容之前,建議您先備份要修改的 strings.txt 檔案。

  • 您必須將所修改或新增的任何字串正確編碼為符合 HTML 語法。字串不得包含 < 字元,而且不應該將它取代成 &lt;。此外,若要加入引號,您必須使用單引號而非雙引號。

下列範例說明如何在標準登入頁面中,將使用者名稱輸入的文字字串從 **"Domain\user name:"**變更為 "Alias:"

若要在標準登入頁面中變更使用者名稱輸入的文字

  1. 在 nls 目錄的適當語言資料夾中,開啟 strings.txt 檔案。

  2. 找出符合 @@L_username_ text 預留位置的字串。此字串會在 strings.txt 檔案中顯示成:L_UserName_Text="Domain\User name:".

  3. 將此文字字串變更為 L_UserName_Text="Alias:"

  4. 儲存 strings.txt 檔案。當系統產生 HTML 表單時,@@L_username_text 的新值就會顯示在表單中。

  5. 重新啟動 Microsoft Firewall 服務,讓這些變更生效。

除了修改文字字串以外,您也可以將新的字串新增至表單。下列範例示範如何將字串新增至表單。

若要將字串新增至表單

  1. 開啟 .htm 檔案。

  2. 新增字串的預留位置,然後儲存檔案。此預留位置必須採用 @@L_stringname 的格式。此預留位置不得包含空格。

  3. 儲存 .htm 檔案。

  4. 將對應的字串新增至 strings.txt 檔案。您必須使用 L_stringname="string text" 格式來輸入字串。

  5. 儲存 strings.txt 檔案。

  6. 重新啟動 Firewall 服務,讓這些變更生效。當系統產生 HTML 表單時,@@L_stringname 的值就會顯示在表單中。

安全性考量

如果您將 strings.txt 檔提供給協力廠商進行修改,請驗證檔案未曾被新增非文字的部分,因為這樣可能會提供他人攻擊您網路的途徑。

使用自訂圖形

您可以取代特定表單中的圖形或以全域方式取代所有表單中的圖形,讓變更顯示在參考該圖形的所有 .htm 檔案中。

Forefront TMG 用於 HTML 表單的圖形都位於預設表單目錄 (ISA 和 Exchange) 中。用來參考圖形的 URL 是依照下列方式撰寫,其中 <filename> 是含副檔名的檔案名稱:/cookieauth.dll?GetPic?formdir=@@FORMDIR&image=<filename>。

下列範例說明如何將標誌圖形 <lgntop.gif> 取代成您的公司標誌 <logo.gif>。這個範例會說明如何修改 HTML 目錄中的表單。

若要取代標誌圖形

  1. 將 logo.gif 複製到 \%Forefront TMG Installation Directory%\Templates\CookieAuthTemplates\ISA\HTML 表單設定目錄。

  2. 開啟包含您要取代之圖形的 .htm 檔案。

  3. 修改圖形的 URL,並取代現有的檔案名稱 <lgntop.gif>。已修改的 URL 為:/cookieauth.dll?GetPic?formdir=@@FORMDIR&image=logo.gif。

  4. 儲存檔案。

  5. 重新啟動 Firewall 服務,讓這些變更生效。當系統產生表單時,logo.gif 就會顯示在表單中。

或者,若要以全域方式取代所有表單中的圖形,請使用您要取代之圖形的檔案名稱,將圖形複製到表單目錄。

建立自訂表單設定

除了 Forefront TMG 所提供的預設 ISA 或 Exchange 目錄以外,您也可以提供自訂表單來指定不同的表單目錄。例如,假設您要針對兩間不同的公司發行網頁用戶端存取,而且想讓每間公司的頁面具有自己的標誌,以及其他自訂文字字串。

下列程序說明如何針對此範例提供自訂表單。

若要提供自訂表單

  1. 在 \CookieAuthTemplates\ 目錄中建立新的資料夾,例如 \%Forefront TMG Installation Directory%\Templates\CookieAuthTemplates\Company1。

  2. 將 ISA 或 Exchange 資料夾的內容複製到您所建立的新資料夾中。如果您只有標準瀏覽器,只要複製 HTML 資料夾即可。

  3. 自訂複製目錄中的表單。對適當語言資料夾中的 strings.txt 檔案進行任何文字變更,或取代任何圖形檔案。請勿變更任何 HTML 表單元素,例如 <FORM> 和 <INPUT>。

  4. 重新啟動 Firewall 服務,讓這些變更生效。

  5. 若要將新的表單設定套用至網頁接聽程式,請在網頁接聽程式的 [表單] 索引標籤上提供目錄名稱。請單獨提供目錄名稱,例如 Company1,而非其完整路徑。或者,若要將新的表單設定套用至網頁發行規則,請在規則的 [應用程式設定] 索引標籤中,啟用 [使用自訂的 HTML 表單] 核取方塊,然後提供目錄名稱。

  6. 若要確保表單只以特定語言顯示,請在網頁接聽程式的 [表單] 索引標籤中,於 [以這個語言顯示 HTML 表單] 底下選取語言。例如,若要確保表單只以英文顯示,不論用戶端瀏覽器設定為何,請選取 [英文 [en]]

  7. 針對第二間公司 (Company2) 重複此程序。

  8. 按一下 [套用變更] 列中的 [套用],更新設定。

注意

如果您正在執行 Forefront TMG Enterprise Edition,這些表單目錄就必須出現在所有 Forefront TMG 陣列成員上。

語言設定

根據預設,Forefront TMG 會使用語言資料夾 (在用戶端瀏覽器 [網際網路選項] 的 [語言] 選項中指定) 內的 strings.txt 檔案來建立 HTML 表單。不過,您可以在網頁接聽程式中指定語言,藉以覆寫用戶端語言設定。此外,如果 Forefront TMG 找不到對應至語言設定的 strings.txt 檔案,就會使用預設的 strings.txt 檔案。

注意

預設目錄中 strings.txt 檔案的語言是英文。您可以變更預設 strings.txt 檔案的語言,方法是將它取代成任何一個語言資料夾中的 strings.txt 檔案。