Konfigurieren benannter erweiterter Richtlinien
Anstatt denselben Ausdruck mehrmals in mehrere Richtlinien einzugeben, können Sie einen benannten Ausdruck konfigurieren und auf den Namen verweisen, wenn Sie den Ausdruck in einer Richtlinie verwenden möchten. Beispielsweise könnten Sie die folgenden benannten Ausdrücke erstellen:
Dieser Ausdruck:
http.req.body(100).contains("this")
Dieser Ausdruck:
http.req.body(100).contains("that")
Sie können diese benannten Ausdrücke dann in einem Richtlinienausdruck verwenden. Zum Beispiel ist das Folgende ein rechtlicher Ausdruck, der auf den vorhergehenden Beispielen basiert:
Dieser Ausdruck | Dieser Ausdruck |
Sie können den Namen eines erweiterten Richtlinienausdrucks als Präfix für eine Funktion verwenden. Der benannte Ausdruck kann entweder ein einfacher Ausdruck oder ein zusammengesetzter Ausdruck sein. Die Funktion muss eine sein, die mit dem Datentyp arbeiten kann, der vom benannten Ausdruck zurückgegeben wird.
Beispiel 1: Einfacher benannter Ausdruck als Präfix
Der folgende einfache benannte Ausdruck, der eine Textzeichenfolge identifiziert, kann als Präfix für die
HTTP.REQ.BODY(1000)
要是der名字des Ausdrucks Top1KB lautet,您能Sie Top1KB.after_Str (“Benutzername”) anstelle von HTTP.REQ.BODY (1000) .AFTER_STR (“Benutzername”) verwenden.
Beispiel 2: Zusammengesetzter benannter Ausdruck als Präfix
Sie können einen zusammengesetzten benannten Ausdruck namens basic_header_value erstellen, um den Benutzernamen in einer Anforderung, einen Doppelpunkt (:) und das Kennwort des Benutzers wie folgt zu verketten:
add policy expression basic_header_value "HTTP.REQ.USER.NAME + \":\" + HTTP.REQ.USER.PASSWD"
Sie können dann den Namen des Ausdrucks in einer Rewriteaktion verwenden, wie im folgenden Beispiel gezeigt:
add rewrite action insert_b64encoded_authorization insert_http_header authorization '"Basic " + basic_header_value.b64encode'
Im Beispiel wird in dem Ausdruck, der verwendet wird, um den Wert des benutzerdefinierten Headers zu konstruieren, der B64-Codierungsalgorithmus auf die Zeichenfolge angewendet, die von dem zusammengesetzten benannten Ausdruck zurückgegeben wird.
Sie können auch einen benannten Ausdruck (entweder allein oder als Präfix für eine Funktion) verwenden, um den Textausdruck für das Ersetzungsziel in einem Rewrite zu erstellen.
Konfigurieren eines benannten erweiterten Richtlinienausdrucks über die CLI
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um einen benannten Ausdruck zu konfigurieren und die Konfiguration zu überprüfen:
- add policy expression - show policy expression
Beispiel:
> 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
Der Ausdruck kann bis zu 1.499 Zeichen lang sein.
Konfigurieren Sie einen benannten Ausdruck über die GUI
- Erweitern Sie im NavigationsbereichAppExpert, und klicken Sie dann aufAusdrücke.
- Klicken Sie aufErweiterte Ausdrücke.
- Klicken Sie aufHinzufügen.
- Geben Sie einen Namen und eine Beschreibung für den Ausdruck ein.
- Konfigurieren Sie den Ausdruck mithilfe des unterErweiterten Richtlinienausdruck konfigurierenbeschriebenen Prozess. Eine Meldung in der Statusleiste zeigt an, dass der Richtlinienausdruck erfolgreich konfiguriert wurde.