...
This element is defined by the urn:mace:shibboleth:2.0:resolver:dc
schema, which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd.
Example
The example illustrates a data source using the DBCP pooling library (version 1.4), which is a well-tested option.
Code Block |
---|
|
<dc:BeanManagedConnection>MyDataSource<<BeanManagedConnection>MyDataSource</dc:BeanManagedConnection> |
Code Block |
---|
language | xml |
---|
title | DataSource defined as a Spring Bean |
---|
|
<!-- Note that some of the settings below are defined as properties, which is optional. -->
<bean id="MyDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="%{datasource.driverClass}"
p:url="%{datasource.jdbcUrl}" p:username="%{datasource.user}" p:password="%{datasource.password}"
p:maxActive="10" p:maxIdle="5" p:maxWait="2000" p:testOnBorrow="true"
p:validationQuery="select 1" p:validationQueryTimeout="5" /> |
Code Block |
---|
language | xml |
---|
title | Oracle Backend Example |
---|
collapse | true |
---|
|
<!-- Oracle database data source needs commons-dbcp-1.4.jar, commons-pool-1.x.jar, ojdbcx.jar in edit-webapp/WEB-INF/lib/ -->
<!-- global.xml needs a new Oracle DB bean as in the previous example, but validationQuery needs to be modified in "select 1 from dual" -->
<!-- Oracle Spring connection pooling data source configuration -->
<bean id="OracleDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="%{datasource.driverClass}"
p:url="%{datasource.jdbcUrl}" p:username="%{datasource.user}" p:password="%{datasource.password}"
p:maxActive="10" p:maxIdle="5" p:maxWait="2000" p:testOnBorrow="true"
p:validationQuery="select 1 from dual" p:validationQueryTimeout="5" />
<!-- Attributes in idp.properties -->
datasource.driverClass = oracle.jdbc.OracleDriver
datasource.jdbcUrl = jdbc:oracle:thin:@<serverFQDN>:1521:<dbmame>
datasource.user = <USER>
datasource.password = <PASS>
<!-- example of attribute-resolver.xml portion for an attribute resolution using principalName as key-->
<resolver:DataConnector<DataConnector xsi:type="dc:RelationalDatabase" id="oracledbcf" >
<dc:BeanManagedConnection>OracleDataSource<<BeanManagedConnection>OracleDataSource</dc:BeanManagedConnection>
<dc:QueryTemplate><QueryTemplate>
<![CDATA[
SELECT CF from DB.TABLE where USER_ID='$requestContext.principalName'
]]>
</dc:QueryTemplate>
<dc:Column<Column columnName="CF" attributeID="personalUniqueID_it_CF" />
</resolver:DataConnector>
|
Code Block |
---|
language | xml |
---|
title | Alternate Oracle Backend Example |
---|
collapse | true |
---|
|
<!-- Similar to the above, an Oracle database can also use commons-dbcp2.jar, commons-pool2.jar, ojdbc7.jar with java 8 -->
<!-- global.xml needs a new Oracle DB bean as in the previous example, but validationQuery needs to be modified in "select 1 from dual" -->
<!-- Oracle Spring connection pooling data source configuration -->
<bean id="OracleDataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"
p:driverClassName="%{datasource.driverClass}"
p:url="%{datasource.jdbcUrl}" p:username="%{datasource.user}" p:password="%{datasource.password}"
p:initialSize="5" p:maxTotal="50" p:maxIdle="5" p:maxWaitMillis="2000" p:testOnBorrow="true"
p:testWhileIdle="true" p:testOnReturn="true" p:timeBetweenEvictionRunsMillis="120000"
p:minEvictableIdleTimeMillis="120000" p:validationQuery="select 1 from dual" p:validationQueryTimeout="4" />
|
...