子表示式建置器

請利用子表示式建置器,透過 AND、OR、NOT 和括弧分組,從子表示式建置複式規則條件。 規則建置器會在您套用變更時驗證規則,並在括弧不對稱及邏輯運算子不受支援時發出警示。

如果要檢視這個管理主控台頁面,請按一下伺服器 > 伺服器類型 > 隨需應變路由器 > odr_name > 隨需應變路由器內容 > 通用伺服器叢集服務原則 > work_class_name > Addrule > 子表示式建置器

如果要利用子表示式建置器來修改規則,您必須有管理者的管理專用權。

選取運算元

依所選的通訊協定而定,會顯示不同的運算元。下表包括主控台所顯示的運算元名稱、出現在表示式中的實際運算元、每個運算元的有效通訊協定,以及每個運算元的說明。

表 1. 運算元及其說明
顯示的運算元 運算元 有效的通訊協定 說明
應用程式名稱 application IIOP EJB 所在應用程式的名稱。
用戶端主機 clienthost HTTP、SOAP、IIOP 完整的用戶端主機名稱。這是網際網路通訊協定 (IP) 指令主機名稱的值。此運算元不支援 >、>=、<、<= 等數值運算子。
用戶端埠 clientport IIOP 用戶端埠名稱。
用戶端 IPV4 clientipv4 HTTP、SOAP 用戶端的網際網路通訊協定第 4 版位址,使用帶點四段式位址類型: n.n.n.n
用戶端 IPV6 clientipv6 HTTP、SOAP 用戶端電腦的 x:x:x:x:x:x:x:x 的網際網路通訊協定第 6 版 128 位元位址類型。
Cookie 標頭名稱 cookie$<name> HTTP、SOAP Cookie 名稱。例如,cookie$My_Cookie_Name='My_Cookie_Value' 表示式會測試要求,以瞭解它是否包含名稱為 My_Cookie_Name、值為 My_Cookie_Value 的 Cookie。如果要測試特定 Cookie 是否存在,請使用下列其中一個表示式:
  • cookie$MyCookieName IS NOT NULL
  • cookie$MyCookieName IS NULL
EJB 模組名稱 ejbmodule IIOP EJB 的模組名稱。
EJB 名稱 ejbname IIOP EJB 的名稱。
EJB 方法名稱 ejbmethod IIOP EJB 內的方法名稱。
群組 ID gids$<name> HTTP、SOAP 要求傳送端的群組 ID。
HTTP 方法 HTTPMethod HTTP、SOAP 要求的 HTTP 方法。可能的值如下:POST、GET、PUT 和 DELETE。
MIME 類型 MIMEType HTTP、SOAP 要求的 MIME 類型。
port HTTP、SOAP、IIOP 主機上用來提供服務的接聽埠。
通訊協定 protocol HTTP、SOAP 傳輸要求的通訊協定。目前支援的通訊協定如下:HTTP、HTTPS、SOAP 和 SOAPS
要求標頭名稱 header$<name> HTTP、SOAP

標頭名稱和值。例如,header$Host='localhost' 表示式會測試要求,以瞭解它是否包含其值為 localhost 的 HTTP 主機標頭。如果要測試主機標頭是否存在,請使用下列其中一個表示式:

header$Host IS NOT NULL、header$Host IS NULL

要求查詢參數名稱 queryparm$<name> HTTP、SOAP 要求 URL 所指定的查詢參數名稱。每項要求的查詢參數(如果有的話),都會有一個名稱/值配對的對映。隨需應變路由器 (ODR) 利用要求查詢參數名稱作為索引鍵來搜尋參數對映,如果有的話,便將值擷取出來,以評估規則表示式。如果規則相符,便會採取指定的動作。否則,便會使用定義了表示式之工作類別的預設動作。
例如,queryparm$timezone=’EST’ 表示式會測試要求,以瞭解要求是否包含名稱為 timezone、值為 EST 的 HTTP 查詢參數。如果要測試查詢參數是否存在,請使用下列指令之一:
  • queryparm$timezone IS NOT NULL
  • queryparm$timezone IS NULL
角色 roles$<name> HTTP、SOAP 要求傳送端的角色。
伺服器主機 serverhost HTTP、SOAP、IIOP 伺服器的完整主機名稱。這個運算元不支援數值運算子,如 >,、>=、<、<=
伺服器 IPV4 serveripv4 HTTP、SOAP 伺服器機器的 IP 位址,使用 IPv4 帶點四段式位址類型 n.n.n.n。
伺服器 IPV6 serveripv6 HTTP、SOAP 類型為 x:x:x:x:x:x:x:x 的 IPv6 128 位元位址類型,遵循伺服器機器的 RFC 1924。
時間 time HTTP、SOAP、IIOP
時間運算元的格式如下:[dayOfWeek[/dayOfMonth[/month[/year]]]::][hour[:minute[:second]]]。
  • dayofWeek 值包括 Sun、Mon、Tue、Wed、Thu、Fri、Sat。
  • dayOfMonth 包括 1-31 的值。
  • month 是代表月份的數值號碼,從一月開始,一月是 1,十二月是 12。例如,數值 5 代表五月份。
  • year 是 4 位數年份。例如,2007
  • hour 是當日時刻,24 小時表示法。
  • minute 是範圍為 0-59 的整數。
  • second 是範圍為 0-59 的整數。

正斜線 (/) 用來分開日期參數,雙冒號 (::) 用來分開日期和時間參數,冒號 (:) 用來分開日期時間參數。請注意,它是使用 time 運算元的整個規則的 Boolean 結果,決定了要採取的遞送動作。

使用者 ID uid$<name> HTTP、SOAP 要求傳送端的使用者 ID。
虛擬入口網站 virtualportal HTTP、SOAP 虛擬入口網站是要求 URL 減去 WebSphere® Portal 應用程式 Web 模組的環境定義根目錄。如果給定的要求符合定義的虛擬入口網站,便會採用定義給此規則的遞送動作。
XPath 表示式 xpathexpr SOAP

XPath 字串表示式有一個用來包含 XPath 表示式的必要欄位,以及一個用來定義本端名稱空間的選用欄位。如果 XPath 表示式所包含的名稱空間都是標準名稱空間,便可能選用第二個欄位。如果有多個本端名稱空間,請用逗點 (,) 來分開各個名稱空間。以下是含有單一本端名稱空間定義的 xpathexpr 範例:

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

操作員

  • = 相等運算子表示區分大小寫的相符項目。
  • <> 不等於運算子表示運算元值不等於您輸入的值。
  • > 大於運算子用於數字。
  • >= 大於或等於運算子用於數字。
  • < 小於運算子用於數字。
  • <= 小於或等於運算子用於數字。
  • AND:xx AND yy, 而言,表示同時包含 xxyy 的相符項目。
  • BETWEEN:這個運算子用來搭配 AND,以選取包含第一個值(或低值)到最後一個值(或高值)的值範圍。它們一起運作於數字和日期。
  • EXISTS:這個布林運算子會檢查運算元或複合子表示式的結果,例如,當檢查某些 HTTP 標頭元素屬性時,便是如此。
  • IN:這個運算子表示在單一表示式中有多個值的運算元。例如,對於稱為 port 的運算元,如果您要表示埠值可以是 908090909091 之類值的任何一項或全部,表示式片段便是 port IN (9080,9090,9091)。方括弧內的值之表示方式視埠的資料類型而定。如果埠是整數,則正確的語法是沒有引號的值。如果埠是字串,則正確的語法是 port IN (‘9080’, ‘9090’, ‘9091’)
  • IS NULL:這個運算子表示查詢的驗證作業顯示所要求的參數不存在。
  • IS NOT NULL:這個運算子表示查詢的驗證作業顯示所要求的參數存在。
  • LIKE:這個運算子表示字串運算元值的型樣比對。此值必須在型樣比對的根目錄位置中,包含百分比符號 (%) 萬用字元。例如,表示式 host LIKE %blanca 會符合 blanca 一字或是結尾為 blanca 的其他任何單字,表示式 host LIKE blanca% 會符合 blanca 一字或是開頭為 blanca 的其他任何單字,而表示式 host LIKE %blanca% 則會符合 blanca 一字或是其中內嵌 blanca 的其他任何單字。
  • NOT:對 NOT xx 而言,這個運算子表示不包含 xx 的相符項目。
  • OR:對 xx OR yy 而言,這個運算子表示包含 xxyy 的相符項目。

請依所選的運算子,輸入代表您要建立之子表示式的值。

建置子表示式

產生子表示式作為所指定運算元、運算子和值的結果。

產生的子表示式

請複製這個子表示式,將它貼在規則中。



檔名:wc_rulebuilder_detail.html