ASP.NET和Delphi ISAPI应用程序之间的单点登录

ASP.NET和Delphi ISAPI应用程序之间的单点登录,asp.net,delphi,authentication,single-sign-on,isapi,Asp.net,Delphi,Authentication,Single Sign On,Isapi,我需要在三个ASP.NET应用程序和一个Delphi ISAPI应用程序之间开发一个“单点登录”身份验证 情景参与者: UI asp.net应用程序-它确实调用WS应用程序 BIASP.net应用程序 WS-isapi模块,其中包含用Delphi编写的soap服务。(可以与LDAP对话) 其他信息/限制: WS-application可以与LDAP对话,但可以修改/扩展 WS-application根据用户身份执行(或不执行)业务逻辑 ADAM是必须的(?),因为每个应用程序实例都需要单独

我需要在三个ASP.NET应用程序和一个Delphi ISAPI应用程序之间开发一个“单点登录”身份验证

情景参与者:

  • UI asp.net应用程序-它确实调用WS应用程序
  • BIASP.net应用程序
  • WS-isapi模块,其中包含用Delphi编写的soap服务。(可以与LDAP对话)
其他信息/限制:

  • WS-application可以与LDAP对话,但可以修改/扩展
  • WS-application根据用户身份执行(或不执行)业务逻辑
  • ADAM是必须的(?),因为每个应用程序实例都需要单独的用户容器(某种多租户解决方案)
  • 对表单身份验证的要求很高
我目前的想法是使用AD或ADAM作为用户容器。使用表单身份验证并共享成员资格提供程序(http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx)在ASP.NET应用程序之间。模拟两个ASP.NET应用程序(http://stackoverflow.com/questions/1066275/impersonate-using-forms-authentication)然后从UI应用程序调用WS

但是,我不知道如何在WS-module一侧传递(和接收)用户身份(凭据?)。IIS(和ADAM?)是否可以处理这一问题?他们可能会使用HTTP摘要或基本身份验证。我将感谢任何信息和建议如何使这项工作

但是,我不知道如何传递(和接收)用户身份 (凭证?)不在WS-module一侧

据介绍,平台SDK中有一个带有源代码的AuthFilter示例

此解决方案似乎是围绕可在IIS服务器之间传递的身份验证cookie而构建的

如果此单一登录示例可以应用于您的ISAPI应用程序,那么也应该可以将身份验证Cookies从ASP.NET传递到ISAPI端


(我不是这方面的专家,这个建议是基于在网络上发现的第一个研究结果。)

ADAM现在是。为什么它是“必须”的?(使用“轻量级”AD实现)-是否要在同一台服务器上运行多个AD LDS实例?@mjn:谢谢您的提示。我需要分离客户帐户,这是一个多租户解决方案。我不确定是否需要多个AD LDS实例。不管怎样,这会改变我的问题吗?