我需要在三个 ASP.NET 应用程序和一个 Delphi ISAPI 应用程序之间开发“单点登录”身份验证。
情景参与者:
附加信息/限制:
我目前的想法是使用 AD 或 ADAM 作为用户容器。使用表单例份验证并在 ASP.NET 应用程序之间共享成员资格提供程序 (http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx)。模拟两个 ASP.NET 应用程序 (http://stackoverflow.com/questions/1066275/impersonate-using-forms-authentication),然后从 UI 应用程序调用 WS。
但是,我不知道如何在 WS 模块一侧传递(和接收)用户身份(凭据?)。 IIS 能否以某种方式(和 ADAM?)来处理这件事,他们可能会使用 HTTP 摘要或基本身份验证。我会感谢任何信息和建议如何使这项工作。
最佳答案
However, I don't know how to pass (and recive) the user identity (credentials?) no the side of WS module.
根据http://www.mombu.com/microsoft/microsoft/t-iis-60-single-sign-on-isapi-filter-14103802-last.html Platform SDK 中有一个带有源代码的 AuthFilter 示例。
这个解决方案似乎是围绕 构建的身份验证 Cookie , 可以在 IIS 服务器之间传递。
如果这个单点登录示例可以应用于您的 ISAPI 应用程序,那么应该可以将 ASP.NET 的身份验证 Cookie 也传递到 ISAPI 端。
(我不是这方面的专家,这个建议是基于在网上找到的第一个研究结果。)
关于asp.net - ASP.NET 和 Delphi ISAPI 应用程序之间的单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419468/