Wir müssen mehrere metadata.xml und ihre Entität haben, um SSO zu aktivieren, da mehrere Länder-Sites von derselben Instanz und derselben Codebasis ausgeführt werden.Konfigurieren mehrerer metadata.xml mit eigener Entitäts-ID in SAML
Was wir
bisher taten die metadatageneratorfilter Customized auf der Anforderungs-URL basierend richtige Einheit zu setzen (wir haben Code Land im Bereich der URL kommen).
Im Frühjahr XML,
<pre>
[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">${sso.metadata.location:classpath:security/metadata_se.xml}[/value>
[/constructor-arg>
[property name="parserPool" ref="parserPool"/>
[/bean>
[/constructor-arg>
[!-- added section starts -->
[constructor-arg>
[bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
[property name="signingKey" value="ssoIDPCertr"/>
[/bean>
[/constructor-arg>
[!-- added section ends-->
[/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">${sso.metadata.location:classpath:security/metadata_es.xml}[/value>
[/constructor-arg>
[property name="parserPool" ref="parserPool"/>
[/bean>
[/constructor-arg>
[!-- added section starts -->
[constructor-arg>
[bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
[property name="signingKey" value="ssoIDPCertr"/>
[/bean>
[/constructor-arg>
[!-- added section ends-->
[/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">${sso.metadata.location:classpath:security/metadata_de.xml}[/value>
[/constructor-arg>
[property name="parserPool" ref="parserPool"/>
[/bean>
[/constructor-arg>
[!-- added section starts -->
[constructor-arg>
[bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
[property name="signingKey" value="ssoIDPCertr"/>
[/bean>
[/constructor-arg>
[!-- added section ends-->
[/bean>
[/list>
[/constructor-arg>
[/bean>
</pre>
But this approach is not working as we dont have set providers against any unique values to identify the proper providers for countries.
our urls will be like
<pre>
https://xy.brand.com
https://yy.brand.com
</pre>
Jeder Standort verfügt über separaten metadata.xml.
wir müssen metadata.xml mit countryCode als Bezeichner speichern und es auf Anfrage URL abrufen, bevor SAML Anfrage & Antwort bilden.
Jede Hilfe wird sehr geschätzt.
Danke, Siva