-
-
-
-
配置命名高级策略表达式
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
配置命名高级策略表达式
您可以配置命名表达式并随时在策略中使用该表达式时引用该名称,而无需在多个策略中多次重新键入同一表达式。例如,您可以创建以下命名表达式:
-
这个表达式:
http.req.body(100).contains("this")
-
那个表达式:
http.req.body(100).contains("that")
然后,您可以在策略表达式中使用这些命名表达式。例如,以下是基于上述示例的法律表达式:
这个表达 |
您可以使用高级策略表达式的名称作为函数的前缀。命名表达式可以是简单表达式或复合表达式。该函数必须是能够对命名表达式返回的数据类型进行操作的函数。
示例 1:作为前缀的简单命名表达式
以下用于标识文本字符串的简单命名表达式可用作 AFTER_STR(“<string>”) 函数的前缀,该函数处理文本数据:
HTTP.REQ.BODY(1000)
如果表达式的名称为 Top1KB,则可以使用 top1KB.AFTER_STR(“用户名”)而不是 HTTP.REQ.BODY (1000) .AFTER_STR(“用户名”)。
示例 2:复合命名表达式作为前缀
您可以创建一个名为 basic_header_value 的复合表达式来连接请求中的用户名、冒号 (:) 和用户的密码,如下所示:
add policy expression basic_header_value "HTTP.REQ.USER.NAME + \":\" + HTTP.REQ.USER.PASSWD"
然后,您可以在重写操作中使用表达式的名称,如以下示例所示:
add rewrite action insert_b64encoded_authorization insert_http_header authorization '"Basic " + basic_header_value.b64encode'
在示例中,在用于构造自定义标头值的表达式中,B64 编码算法应用于复合名为表达式返回的字符串。
您还可以使用命名表达式(单独或作为函数的前缀)在重写中为替换目标创建文本表达式。
使用 CLI 配置命名的高级策略表达式
在命令提示符下,键入以下命令以配置命名表达式并验证配置:
- add policy expression \<name\>\<value\>
- show policy expression \<name\>
<!--NeedCopy-->
示例:
> add policy expression myExp "http.req.body(100).contains("the other")"
Done
> show policy expression myExp
1) Name: myExp Expr: "http.req.body(100).contains("the other")" Hits: 0 Type : ADVANCED
Done
<!--NeedCopy-->
表达式最多可包含 1,499 个字符。
使用 GUI 配置命名表达式
- 在导航窗格中,展开 AppExpert,然后单击 表达式。
- 单击 高级表达式。
- 单击添加。
- 输入表达式的名称和描述。
- 使用配置 高级策略表达式中描述的过程配置表达式。状态栏中的消息将指示已成功配置策略表达式。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.