我没有使用或拥有 Siteminder,但必须为想要使用它的我们产品的客户提供支持,因此想在这里询问 Sitemidner 如何与 IIS 协同工作。
我有一个不会更改的 Linux 系统。它可以将用户转发到 IIS 页面。URL 包含一个 nounce。然后,该 IIS 页面使用基于 Kerberos 的身份验证和单点登录。它非常简单,只需了解用户的名称(asp.net 提供此功能),然后创建一个包含 nonce 和用户名的票据,并重定向回不会更改的封闭 Linux 系统。
使用 Kerberos 或 NTLM 和 Windows 集成身份验证可以正常工作。
这如何与 Siteminder 配合使用?他们是否还会向 asp.net 应用程序提供当前登录用户的用户名?他们是否支持重定向?
我希望他们只编写一个 ISAPI 扩展或类似的东西来解析他们的 cookie,然后让我的简单 asp.net 页面运行。
答案1
SiteMinder IIS 代理是一个 ISAPI 过滤器/扩展。它位于 Web 服务器中,并将请求传递到底层页面,只要您可以查看经过身份验证的用户 ID 的标头,就无需对页面进行任何更改。代理处理所有重定向以进行身份验证,并保留最初请求的位置,以便在身份验证后将用户发送到正确的页面。
SiteMinder 支持一个称为响应的概念。使用响应,您可以设置任何您想要的 HTTP 标头。如上所述,SM_USER 是默认设置的,但您也可以设置 REMOTE_USER 或您想要的任何其他标头。由于 SiteMinder 支持大量身份验证方案,因此您可以继续在 IIS 服务器上使用 Windows 集成身份验证。
如果您想了解更多详细信息,我的 Twitter 账号是 @tclayton。
答案2
我相信 Site Minder 会将用户作为 http 标头传递。默认值为 remote_user,但可以更改。
答案3
(remote_user 不再是默认值。)SiteMinder 默认设置 SMUSER,但您可能需要明确设置自定义标头以控制格式。