我没有使用或有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,但您可能需要显式设置自定义标题以控制格式。