CA siteminder的IIS集成如何工作? (asp.net应用程序)

我没有使用或有Siteminder,但必须支持我们的产品谁想要使用它的客户,因此要问在这里如何Sitemidner如何与IIS工作。

我有一个不能改变的Linux系统。 它可以转发用户到一个IIS页面。 该URL包含一个声明。 该IIS页面然后使用例如基于Kerberos的单点login身份validation。 这很简单,只是学习用户的名字(asp.net提供的),然后创build一个包含nonce和用户名的票据,然后redirect到不被更改的封闭的Linux系统。

这工作正常使用Kerberos或NTLM和Windows集成身份validation。

这将如何与Siteminder工作? 他们也会提供当前login用户的用户名到一个asp.net应用程序? 他们会支持redirect吗?

我希望他们只是写了一个ISAPI扩展或parsing他们的cookies,然后让我的简单的asp.net页面运行。

SiteMinder IIS代理是一个ISAPIfilter/扩展。 它位于Web服务器中,并通过请求传递到底层页面,只要您可以查看经过身份validation的用户标识的标头,就不需要在页面上进行任何更改。 代理处理所有redirect进行身份validation,并将保留最初请求的位置,以便在身份validation后将用户发送到正确的页面。

SiteMinder支持一个叫做响应的概念。 有了回应,你可以设置任何你想要的HTTP头。 如上所述,默认情况下SM_USER被设置,但是你也可以设置REMOTE_USER或者你想要的其他头文件。 由于SiteMinder支持大量的身份validationscheme,因此您可以继续在IIS服务器上使用Windows集成身份validation。

如果你想了解更多的细节,我在Twitter上是@tclayton。

我相信站点pipe理员通过http标头传递用户。 默认是remote_user,但可以更改。

(remote_user不再是默认设置)。默认情况下,SiteMinder会设置SMUSER,但您可能需要显式设置自定义标题以控制格式。