The Shibboleth IdP V4 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only. See the IDP5 wiki space for current documentation on the supported version.

QueryTemplate

Namespace: urn:mace:shibboleth:2.0:resolver
Schema: http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd

Overview

The <QueryTemplate> element provides the Velocity template from which the SQL query is built. It carries no attributes or child elements.

Typically the XML CDATA construct is used to wrap the text because it avoids the need for special escaping of most characters.

Template Context

As enumerated below, several variables are available to the Velocity template context. In practice $resolutionContext.principal and any dependent attributes tend to be most useful.

Name

Description

Name

Description

resolutionContext

The AttributeResolutionContext. Commonly useful properties include $resolutionContext.principal and $resolutionContext.attributeRecipientID

foo, bar, etc.

For each IdPAttribute available from all the input dependencies, the attributes' values are available as a collection under the attribute's name. For the first value of an attribute with the ID "foo", foo.get(0) will provide it.

Note this this is a simplification of the actual native data structures to simplify the template.

Example

<QueryTemplate> <![CDATA[ SELECT * FROM people WHERE userid='$resolutionContext.principal' ]]> </QueryTemplate>