The Security Manager PreviousNext

This interface enables the programmer to configure security needs for the application. Your application needs to consider how a user of the library is authenticated, and how it is going to map user identifiers to authorization domains. Implementing this interface is your way to inform the XSLT library of these decisions.


This routine (inherited from XM_XPATH_SECURITY_MANAGER) is called by the fn:doc(), fn:doc-available() and fn:document() functions to check that it is permissible to read from the URI given as an argument to the function, so as to protect sensitive data from being seen by unauthorized personnel.
This routine is supposed to be called by the XM_XSLT_OUTPUT_URI_RESOLVER to decide if an xsl:result-document has permission to write to the URI specified as the value of it's href attribute. If your implementation withholds permission, then the transformation will be terminated with the non recoverable error:
is_highly_secure / set_high_security
This pair of features enables your security manager to act in a bi-modal fashion. The interpretation of what high security means is entirely up to you.

The default security manager: XM_XSLT_DEFAULT_SECURITY_MANAGER

This is the only concrete security manager provided by the library. If it is not suitable for your needs, then you must write your own, and supply it to the creation routine of your XM_XSLT_OUTPUT_URI_RESOLVER.

This implementation unconditionally allows all requests to read from a resource. For requests to write to a resource, it examines the state of the is_highly_secure attribute. If this is True, then it only allows writing to URIs of the stdout and string schemes.

Copyright 2005, Colin Adams and others
Last Updated: Tuesday, October 11th, 2005