【问题标题】:Shibboleth- Auto Choose from multiple idp based on Url for single SPShibboleth- 自动从基于 URL 的多个 idp 中选择单个 SP
【发布时间】:2017-07-30 01:00:06
【问题描述】:

我们正在为我们的应用程序使用 Shibboleth 服务提供商。我们已经在本地机器上安装了 Sp。 现在我需要根据 url 将其配置为多个 idP。 例子: 我们有两个主机 one.sample.com 和 two.sample.com 都指向同一台机器 - 所以同一个 SP。

所以想要配置 Sp,当点击 one.sample.com 时,它使用 https://testshib.com/idp 验证用户,当点击 two.sample.com 时,使用另一个 idp 验证用户。

它不应该要求我选择 idP。它应该会根据主机 Url 自动识别 idp。

谢谢

【问题讨论】:

标签: asp.net iis-7 shibboleth


【解决方案1】:

您可以在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">faculty@osu.edu student@osu.edu</Rule>
        </AccessControl>
    </Host> </RequestMap>

以上示例直接取自我在上面提供的 Shibboleth wiki 链接。

如果需要,您可以忽略 AccessControl 标记并直接映射 Host 和 Path。因此,对于您的示例,您将需要创建两个应用程序并将两个主机映射到应用程序。如果您不提供 applicationId 则它将 ApplicationDefault 作为应用程序。

如何提供多个应用程序可以找到here

【讨论】:

  • 但是在我们的例子中,主机不受限制,它可以是 one.sample.com ,two.sample.com,three.sample.com 和最多 n 个主机,每个主机都指向同一个目录。我需要在 IIS 上为每个主机创建应用程序吗?
  • 所以你在这个文件中提供了 n 个host 元素。如果您的主机是 10 的乘法或动态的,则不能这么简单地完成
  • urls(hosts) 将如何映射到不同的 idp 上?
  • 你需要创建多个应用程序,基本上会有一个应用程序默认值,并且在多个应用程序中。所有应用程序都将具有 id。您需要将主机映射到相应的 ID。
猜你喜欢
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多