2017-03-09 84 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上? –