Chapter 3: Condition Reference
exception.id=
Tests whether the exception being returned to the client is the specified exception. It can also be used to determine whether the exception being returned is a
syntax
exception.id=exception_id
where exception_id is either the name of a
or the name of a user defined exception in the form:
user_defined.exception_id
In addition to testing the identity of exceptions set by the exception( ) property, exception.id= can also test for exceptions returned by other CPL gestures, such as policy_denied, returned by the deny( ) property and policy_redirect returned by the redirect( ) action.
Layer and Transaction Notes
•Use in <Exception> layers.
•Applies to proxy transactions.
Examples
This example illustrates how some commonly generated exceptions are caught. Appropriate subnet and action and category definitions are assumed.
<Proxy> url.domain=partner.my_co.com/
action.partner_redirect(yes) ; action contains redirect( )
<Proxy> url.domain=internal.my_co.com/
force_deny client.address!=mysubnet authenticate(my_realm)
<Proxy> deny.unauthorized
url.domain=internal.my_co.com/hr group=!hr;
;and other group/user restrictions ...
<Proxy> category=blocked_sites
exception(user_defined.restricted_content )
;could probably have used built in content_filter_denied
;Custom handling for some
;
<Exception>
;thrown by authenticate( ) if there is a realm configuration error exception.id=configuration_error action.config_err_alerts(yes)
;thrown by deny.unauthorized
exception.id=authorization_failed action.log_permission_failure(yes)
69