Namespace: urn:mace:shibboleth:2.0:resolver
Schema: http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
...
This connector uses a JDBC DataSource to connect to the database. This can be supplied via a few different techniques, but the recommended approach is to define one using Spring syntax in global.xml (or similar location) and use the <
BeanManagedConnection
>
<BeanManagedConnection>
element, the reason being it can be easily shared across multiple connectors. If you need the ability to reload the data source's settings, then the suggested approach is to create a new Spring file to contain the bean, and add it to the set of AttributeResolverConfiguration resources in services.xml
...
In prior versons, most of these extension points were non-API classes and interfaces, but in V4+ they have been moved and promoted to API status.
In practice, the RDBMS Data Connector may be supplied with beans of the following types:
ExecutableSearchBuilder<ExecutableStatement>
Two classes which implement this interface are available:com.google.common.cache.Cache<String,Map<String,IdPAttribute>>
The only class available in the IdP which implements this Interface is NonFailFastValidator
The only class available in the IdP which implements this Interface is StringResultMappingStrategy
In addition, native bean IDs can be injected as follows:
The DataSource can be specified as an externally defined bean via the
<BeanManagedConnection>
element (as a recommended replacement for the the<ContainerManagedConnection>
element).The builder for the SQL query can be specified as an externally defined bean via the
executableSearchBuilderRef
attribute (as a replacement for the<QueryTemplate>
element).The mapping of column names can be specified as an externally defined bean via the
mappingStrategyRef
attribute (as a replacement for the<Column>
elements).The caching of results can be specified as an externally defined bean via the
<ResultCacheBean>
element (as a replacement for the<ResultCache>
element).Rarely, a non-default Velocity engine can be injected via the
templateEngine
attribute.
...