2017-07-05 3 views
0

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

Antwort

0

ist eine andere entityID den einzigen Grund, warum Sie mit Ihren SP Metadaten-XML-Dateien zu trennen? Wenn ja, haben Sie in Betracht gezogen, entity alias zu verwenden?