<div dir="ltr">I got following error while integrate LDAP with Shibboleth:
<br><b>net.shibboleth.utilities.java.support.service.ServiceException:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'myLDAP': Invocation of init method failed; nested
exception is
net.shibboleth.utilities.java.support.component.ComponentInitializationException:
Data Connector 'myLDAP': Invalid connector configuration
<br>org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'shibboleth.metrics.RegisterMetricSets$child#0'
defined in file
[/opt/shibboleth-idp/system/conf/../../conf/admin/metrics.xml]: Cannot
resolve reference to bean 'shibboleth.metrics.AttributeResolverGaugeSet'
while setting bean property 'arguments' with key [7]; nested exception
is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'shibboleth.metrics.AttributeResolverGaugeSet'
defined in file
[/opt/shibboleth-idp/system/conf/general-admin-system.xml]: Invocation
of init method failed; nested exception is
net.shibboleth.utilities.java.support.component.ComponentInitializationException:
Injected service was null or not an AttributeResolver
<br></b><br><b><br><b>attribute-resolver.xml</b><br><?xml version="1.0" encoding="UTF-8"?>
<br><AttributeResolver
<br> xmlns="urn:mace:shibboleth:2.0:resolver"
<br> xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance%22" rel="nofollow">http://www.w3.org/2001/XMLSchema-instance"</a><br> xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver <a href="http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd%22%3E" rel="nofollow">http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"></a><br><?xml version="1.0" encoding="UTF-8"?>
<br><AttributeResolver
<br> xmlns="urn:mace:shibboleth:2.0:resolver"
<br> xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance%22" rel="nofollow">http://www.w3.org/2001/XMLSchema-instance"</a><br> xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver <a href="http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd%22%3E" rel="nofollow">http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"></a><br> <AttributeDefinition id="eduPersonPrincipalName" xsi:type="Prescoped" sourceAttributeID="eduPersonPrincipalName"><br> <Dependency ref="myLDAP" /><br>
<AttributeEncoder xsi:type="SAML1ScopedString"
name="urn:mace:dir:attribute-def:eduPersonPrincipalName"
encodeType="false" /><br> <AttributeEncoder
xsi:type="SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
friendlyName="eduPersonPrincipalName" encodeType="false" /><br> </AttributeDefinition><br> <AttributeDefinition id="uid" xsi:type="Simple" sourceAttributeID="uid"><br> <Dependency ref="myLDAP" /><br> <AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:uid" encodeType="false" /><br>
<AttributeEncoder xsi:type="SAML2String"
name="urn:oid:0.9.2342.19200300.100.1.1" friendlyName="uid"
encodeType="false" /><br> </AttributeDefinition><br> <AttributeDefinition id="mail" xsi:type="Simple" sourceAttributeID="mail"><br> <Dependency ref="myLDAP" /><br> <AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" /><br>
<AttributeEncoder xsi:type="SAML2String"
name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail"
encodeType="false" /><br> </AttributeDefinition><br> <DataConnector id="myLDAP" xsi:type="LDAPDirectory"
<br> ldapURL="%{idp.attribute.resolver.LDAP.ldapURL}"
<br> baseDN="%{idp.attribute.resolver.LDAP.baseDN}"
<br> principal="%{idp.attribute.resolver.LDAP.bindDN}"
<br> principalCredential="%{idp.attribute.resolver.LDAP.bindDNCredential}"
<br> useStartTLS="%{idp.attribute.resolver.LDAP.useStartTLS:false}"
<br> connectTimeout="%{idp.attribute.resolver.LDAP.connectTimeout}"
<br> responseTimeout="%{idp.attribute.resolver.LDAP.responseTimeout}"><br> <FilterTemplate><br> </b><pre><![CDATA[
%{idp.attribute.resolver.LDAP.searchFilter}
]]></pre><br> </FilterTemplate><br> <ConnectionPool
<br> minPoolSize="%{idp.pool.LDAP.minSize:0}"
<br> maxPoolSize="%{idp.pool.LDAP.maxSize:10}"
<br> blockWaitTime="%{idp.pool.LDAP.blockWaitTime:PT3S}"
<br> validatePeriodically="%{idp.pool.LDAP.validatePeriodically:true}"
<br> validateTimerPeriod="%{idp.pool.LDAP.validatePeriod:PT3S}"
<br> expirationTime="%{idp.pool.LDAP.idleTime:PT10M}"
<br> failFastInitialize="%{idp.pool.LDAP.failFastInitialize:false}" /><br> </DataConnector><br></AttributeResolver><br><br><b>ldap.properties</b><br>idp.authn.LDAP.authenticator = anonSearchAuthenticator
<br>idp.authn.LDAP.ldapURL = ldap://localhost:389
<br><br>idp.authn.LDAP.useStartTLS = false
<br>idp.authn.LDAP.useSSL = false
<br><br><br>idp.authn.LDAP.returnAttributes = passwordExpirationTime,loginGraceRemaining
<br><br><br>idp.authn.LDAP.baseDN = ou=Staff,dc=##,dc=#,dc=#
<br>#idp.authn.LDAP.subtreeSearch = false
<br>idp.authn.LDAP.userFilter = (uid={user})
<br># for AD: idp.authn.LDAP.bindDN=<a href="mailto:adminuser@domain.com">adminuser@domain.com</a>
<br>idp.authn.LDAP.bindDN = uid=#,ou=Staff
<br>idp.authn.LDAP.bindDNCredential = #
<br><br>idp.authn.LDAP.dnFormat = cn=%s,ou=Staff,dc=#,dc=#,dc=#
<br>idp.attribute.resolver.LDAP.returnAttributes = uid,mail
<br><br>idp.attribute.resolver.LDAP.ldapURL = %{idp.authn.LDAP.ldapURL}
<br>idp.attribute.resolver.LDAP.baseDN = %{idp.authn.LDAP.baseDN:undefined}
<br>idp.attribute.resolver.LDAP.bindDN = %{idp.authn.LDAP.bindDN:undefined}
<br>idp.attribute.resolver.LDAP.bindDNCredential = %{idp.authn.LDAP.bindDNCredential:undefined}
<br>idp.attribute.resolver.LDAP.useStartTLS = %{idp.authn.LDAP.useStartTLS:false}
<br>idp.attribute.resolver.LDAP.searchFilter = (uid=$requestContext.principal)
<br>idp.attribute.resolver.LDAP.responseTimeout = 30000
<br>idp.attribute.resolver.LDAP.connectTimeout = 30000
</div>