Your browser does not support HTML5 local storage or you have disabled it. Some functionality on this site, including saving your privacy settings and offering you special discounts, uses local storage and may not work with local storage disabled. We recommend allowing the use of local storage in your browser. In some browsers, it is the same setting used for disabling cookies.


Example of Using the Deny Action

The example in Figure 5.14 illustrates using the deny action with nested authentication methods.

Using the deny action with nested authentication methods

Figure 5.14. Using the deny action with nested authentication methods

When the user authentication processing starts, the user is first directed to a block with one authentication method, hostbased. If the user fails host-based authentication, the processing immediately ends in failure.

If the user passes host-based authentication, the authentication state is still "deny" and the processing continues with a nested authentication block. This block matches if a host certificate with valid fields was used to pass the host-based authentication. In this case, no further authentication methods are required and the authentication ends in success.

However, if a matching certificate does not exist, the deny action of the parent authentication block is used and the authentication ends in failure.

The allow-undefined attribute is included in the host certificate selector and set to "yes". If it is omitted (or set to "no"), and the user tries to authenticate with a normal host public key, the selector matching will end in error because the host certificate data is not available to the server. In this example, the end result would be the same from the user's point of view (login is denied), but the server logs this as an error condition instead of an authentication failure. For more information, see Selectors and Undefined Data.