request-match

Use this entry to define the pattern to be matched against the HTTP request line, which includes method, URI, and protocol.

Syntax

request-match = {request|preazn|postazn|postauthn|response}:<request-line>

Description

This entry defines the pattern to be matched against the HTTP request line, which includes method, URI, and protocol.

You can also match a request by using a host header. Use this option to selectively enable this function for a particular virtual host junction. To selectively match an entry based on a particular host header, add a prefix to the <request-line> with the string [<host>].

When you are defining the request-match entry, you also need to define the stage in the processing flow at which the rule is triggered. The following table lists the supported options:
Option Description
request The rule is triggered when the request is first received by WebSEAL. Credential attributes are not available at this stage in the processing flow.
preazn The rule is triggered immediately before the standard authorization decision logic. It can be used to implement your own Lua based authorization decisions. This stage is only valid for Lua scripts.
postazn The rule is triggered immediately after the authorization decision is made.
postauthn The rule is only triggered after an authentication event. It can be used to add extended attributes to the credential.
Note: The request-match is made against the name of the authentication mechanism rather than the HTTP request line. The name of the authentication mechanism is located within the AZN_CRED_AUTH_METHOD attribute of an authenticated credential.
response The rule is triggered after the response has been received from the junction.

Options

[request |preazn|postazn|postauthn|response]
Determines the location in the processing flow at which the rule is to be triggered. This value can be request, preazn, postazn, postauthn, or response.
request-line
Contains the request line to be matched against. The pattern matching is case-sensitive. You can use wildcard characters * and ?.

Usage

This stanza entry is optional.

You can specify multiple entries if needed.

Default value

None.

Example


request-match = request:GET /index.html HTTP/1.1
request-match = postazn:GET /jct/* *
request-match = response:[www.ibm.com]GET /login/*
request-match = postauthn:password