2017-03-09 70 views
0

我們爲我們的應用程序使用Shibboleth服務提供商。我們已經在我們的本地機器上安裝了Sp。 現在我需要根據url將它配置爲多個idP。 例如: 我們有兩個主機one.sample.com和two.sample.com都指向同一臺機器 - 同樣的SP。Shibboleth-自動根據網址從多個idp中選擇單個SP

所以想要配置Sp的方式是,當點擊one.sample.com時,然後使用https://testshib.com/idp對用戶進行身份驗證,然後點擊two.sample.com,然後用另一個idp對用戶進行身份驗證。

它不應該要求我選擇idP。它應該根據主機Url自動識別idp。

感謝

+0

可能重複[Shibboleth SP指向多個idP](http://stackoverflow.com/questions/21858019/shibboleth-sp-to-point-to-multiple-idp) – Thaoden

回答

0

可以在shibboleth2.xml文件中使用<RequestMap>元素。

更多細節見here

<RequestMap applicationId="default"> 
    <Host name="www.example.org"> 
     <Path name="secure" authType="shibboleth" requireSession="true"/> 
    </Host> 
    <Host name="admin.example.org" applicationId="admin" authType="shibboleth" requireSession="true"> 
     <AccessControl> 
      <Rule require="affiliation">[email protected] [email protected]</Rule> 
     </AccessControl> 
    </Host> </RequestMap> 

以上exmple是直接從本人上面提供的的Shibboleth維基鏈路服用。

如果需要,可以忽略AccessControl標記並直接映射Host和Path。因此,對於您的示例,您需要創建兩個應用程序並將兩臺主機映射到應用程序。如果您沒有提供applicationId,則需要ApplicationDefault作爲應用程序。

如何提供多個應用程序可以找到here

+0

但是主機不限於我們的它可以one.sample.com,two.sample.com,three.sample.com和多達n個主機和每個主機指向相同的目錄。 我是否需要在IIS上爲每個主機創建應用程序? –

+0

所以你在這個文件中提供了n個'host'元素。如果你的主機在10乘法或動態的情況下不能這麼簡單地完成 – Akshay

+0

網址(主機)如何映射到不同的idp上? –