我已将 shibboleth-Idp 设置为 servelet 容器 tomcat6 中的 servelet。但是,tomcat 启动 servelet 时加载失败。这是我的数据连接器导致的。
我用于连接器的代码如下:
<resolver:DataConnector id="myLDAP" xsi:type="dc:LDAPDirectory"
ldapURL="ldap://ldap.example.org"
baseDN="ou=people,dc=example,dc=org"
principal="cn=admin,dc=example,dc=org"
principalCredential="khurram">
<dc:FilterTemplate>
<![CDATA[
(uid=$requestContext.principalName)
]]>
</dc:FilterTemplate>
</resolver:DataConnector>
<!-- StoredID (persistentID) Connector -->
<resolver:DataConnector id="myStoredId"
xsi:type="dc:StoredId"
generatedAttributeID="persistentID"
sourceAttributeID="swissEduPersonUniqueID"
salt="CsAizrOmTV7GR7/wSoHX32s0NbHCi7hppi11kLhk/XFRpqCo">
<resolver:Dependency ref="swissEduPersonUniqueID" />
<dc:ApplicationManagedConnection
jdbcDriver="com.mysql.jdbc.Driver"
jdbcURL="jdbc:mysql://localhost:3306/shibboleth?autoReconnect=true"
jdbcUserName="shibboleth"
jdbcPassword="demo" />
</resolver:DataConnector>
我在 shibboeth IDP-Process.log 日志中收到的错误如下
02:01:40.015 - 错误 [edu.internet2.middleware.shibboleth.common.config.BaseService:188] - 未加载 shibboleth.AttributeResolver 服务的配置,创建组件时出错。此错误的根本原因是:org.xml.sax.SAXParseException:cvc-identity-constraint.4.3:未找到元素“AttributeResolver”的身份约束中值为“swissEduPersonUniqueID”的键“DataConnectorAttributeDefinitionDependencyRef”。
有人能指出我做错什么吗?
答案1
Shibboleth 不知道swissEduPerson唯一ID。您的配置文件中缺少它。