2017-07-05 2 views
0

Nous avons besoin de plusieurs métadonnées.xml et de son entité pour activer l'authentification unique car nous avons plusieurs sites de pays qui s'exécutent à partir d'une même instance et de la même base de code.Configuration de plusieurs métadonnées.xml avec son propre entityid dans SAML

Ce que nous avons fait jusqu'à présent

personnalisé le metadatageneratorfilter pour définir l'entité appropriée en fonction de l'URL de la demande (nous avons un code de pays à venir dans le domaine de l'url).

En XML Spring,

 <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> 

Chaque site a metadata.xml séparé.

nous avons besoin de stocker metadata.xml avec countryCode comme identificateurs et de le récupérer en fonction de l'URL de demande avant de former la réponse SAML &.

Toute aide sera grandement appréciée.

Merci, Siva

Répondre

0

avec une autre entityID la seule raison pour laquelle vous séparez vos métadonnées SP fichiers xml? Si oui, avez-vous envisagé d'utiliser entity alias?