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