<RequestMapper> element configures the component used by the SP to map incoming requests to the set of configuration options that should be applied. You can think of it as a portable equivalent of the Apache
<Location> feature, which associates Apache directives with specific URLs. Like that feature, the RequestMapper operates based on URL, not on the physical path of files.
While Apache-based deployments can rely entirely on Apache functionality for this purpose, IIS provides no such capability. The RequestMapper allows the SP to insulate itself from the differences between servers.
Another critical role of the RequestMapper is to map each request to the appropriate Shibboleth Application, thereby connecting the resource-oriented settings to the more general behavior defined per-Application.
- Plugin type name.
type="Native", integrates native web server content configuration features with the portable syntax supported by the XML RequestMapper (see below).
For most deployments, this is the type to use. It is a hybrid that allows you to combine Apache commands in
.htaccess files with XML-based configuration and seamlessly switch back and forth. The native commands override any XML-based properties. For servers without native commands (IIS), this type is completely equivalent to the XML RequestMapper below.
For more syntax details, refer to the XML version below.
type="XML", provides a portable XML syntax for configuring settings based on mappings assigned to URL host, path, and query string information. It does not permit settings to be defined in the web server's configuration.
The only reason for using this type in favor of the "Native" type above would be to prevent developers with access to content from using
.htaccess commands. Since Apache itself can prevent this already, it's largely superfluous, but there might be very small efficiency gains from using it in such cases.
The XML RequestMapper is a reloadable resource, which means that the XML content can be supplied inline, in a local file, or a remote file, and can be monitored for changes and reloaded on the fly. The root of the XML instance MUST be a
Inherits attributes supported by reloadable resources.
- Root element of configuration, can be supplied inline as a child element, or as the root of a reloadable resource in an external file.