Я получаю следующее исключение, пока я пытаюсь запустить свой сервер после настройки моего IDP в securityContext.xml.org.opensaml.saml2.metadata.provider.FilterException: установка доверия подписи не удалась для записи метаданных
Вызванный: org.opensaml.saml2.metadata.provider.FilterException: Подпись доверие учреждение не удалось для ввода метаданных
Я видел, есть обходной путь в http://forum.spring.io/forum/spring-projects/security/saml/108450-getting-error-signature-trust-establishment-failed-for-metadata-entry ссылки, где он говорит, установив свойство metadataTrustCheck лжи на компонент ExtendedMetadataDelegate, который включает ваши метаданные IDP.
Но я не хочу обновлять ядро saml2, вместо этого можно установить metadataTrustCheck в securityContext.xml. Если да, то как его настроить. Я пробовал, как показано ниже. Но все равно такая же ошибка.
<bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<constructor-arg>
<bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<constructor-arg>
<value type="java.io.File">classpath:metadata/services/MyMetadata.xml</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
</bean>
</constructor-arg>
<property name="metadataTrustCheck" value="false"/>
</bean>
Мой MetadataManager определяется следующим образом:
<bean id="metadata" class="org.springframework.security.saml.metadata.CachingMetadataManager">
<constructor-arg>
<list>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<constructor-arg>
<bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<constructor-arg>
<value type="java.io.File">classpath:metadata/services/FederationMetadata.xml</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
</bean>
</constructor-arg>
<property name="metadataTrustCheck" value="false"/>
</bean>
<bean class="org.opensaml.saml2.metadata.provider.HTTPMetadataProvider">
<!-- URL containing the metadata -->
<constructor-arg>
<value type="java.lang.String">https://adfsserver1.com/FederationMetadata/2007-06/FederationMetadata.xml</value>
</constructor-arg>
<!-- Timeout for metadata loading in ms -->
<constructor-arg>
<value type="int">5000</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<constructor-arg>
<bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<constructor-arg>
<value type="java.io.File">classpath:metadata/capital/FederationMetadata.xml</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
</bean>
</constructor-arg>
<property name="metadataTrustCheck" value="false"/>
</bean>
<bean class="org.opensaml.saml2.metadata.provider.HTTPMetadataProvider">
<!-- URL containing the metadata -->
<constructor-arg>
<value type="java.lang.String">https://adfsserver2.com/FederationMetadata/2007-06/FederationMetadata.xml</value>
</constructor-arg>
<!-- Timeout for metadata loading in ms -->
<constructor-arg>
<value type="int">5000</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
</list>
</constructor-arg>
</bean>
Пожалуйста, помогите в этом. Благодарю.
Можете ли вы разместить свой полный компонент CachingMetadataManager? –
Эй, Владимир, Приятно слышать от тебя. Я использую Spring-security-saml2-core: 1.0.1.BUILD-SNAPSHOT.jar. Я не изменил ни одного из кода API ядра. – Kannan
Первоначально я использовал источник saml2-core и изменил metadataTrustCheck на false в файле ExtendedMetadataDelegate.java и создал файл jar. Он работал хорошо. Теперь я пытаюсь использовать SNAPSHOT, где вышеупомянутое изменение не будет там. Вместо этого я могу переопределить значение metadataTrustCheck в securityContext.xml, используя . исправьте меня, если я ошибаюсь. –
Kannan