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

标签 asp.net delphi authentication single-sign-on isapi

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

情景参与者:

  • UI asp.net 应用程序 - 它确实调用 WS 应用程序
  • BI asp.net 应用程序
  • WS isapi 模块,其中包含用 Delphi 编写的肥皂服务。 (可以与 LDAP 对话)

  • 附加信息/限制:
  • WS 应用程序可以与 LDAP 对话,但可以修改/扩展。
  • WS 应用程序基于用户身份执行(或不执行)业务逻辑。
  • ADAM 是必须的(?),因为每个应用程序实例都需要单独的用户容器(某种 Multi-Tenancy 解决方案)。
  • 表单例份验证要求很高。

  • 我目前的想法是使用 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/

    相关文章:

    asp.net - SignalR 长轮询重新连接行为

    c# - 数据上下文。有没有一种方法可以在其中添加额外的 WHERE?

    C++ 类引用

    android - 如何创建 Delphi Android 应用程序 APK 以包含文件

    mysql - 是否可以在进行 SQL 查询的同时进行身份验证(不预先进行身份验证)

    authentication - 基于简单 LDAP 的集中式 Web 身份验证存储

    javascript - 停止 ASP.NET 按钮的页面重新加载

    Delphi - 获取给定文件的编码

    php - 数据使用$_REQUEST是不是错了?

    asp.net - FormsAuthentication.Initialize() 的作用是什么?