【问题标题】:AD authentication possibility on third-party servers第三方服务器上的 AD 身份验证可能性
【发布时间】:2012-11-27 10:05:29
【问题描述】:

请假设有两台服务器:

  • 服务器-A:Windows 2012、IIS8、ASP.NET 4.5
  • 服务器-B:Windows 2012、IIS8、ASP.NET 4.5、Active Directory

两台服务器由不同的组织拥有和管理,Server-B 上的 Active Directory 与 Server-A 无关,也不参与。

基于此,是否可以在 Server-A 上使用 Windows Authentication 来对访问 Server-B 的用户进行身份验证?我认为不会,但显然不完全确定。

我已经设法在 Server-B 上编写代码来读取当前经过身份验证的用户的属性(例如employeeID),但需要将它们传递给 Server-A 进行处理(这最终可能充当单点登录机制)。除非当然有更好的方法可以分享??

【问题讨论】:

    标签: asp.net iis active-directory windows-authentication


    【解决方案1】:

    我通过以下方式实现了这一点。可能有更好的方法,但这个方法尽可能安全:

    1. 用户通过 Active Directory 登录到服务器 B
    2. 用户访问托管在服务器 B 上的“身份验证”页面
    3. 页面查找他们的 AD 员工 ID 并将其加密到 cookie 中
    4. 用户正在转移到服务器 A 上的 Web 应用程序
    5. 服务器 A 上的 Web 应用程序看到加密的 cookie 并对其进行解密,检查前一页是否位于客户 IP 地址上
    6. Web 应用使用加密 cookie 中的员工 ID 登录用户

    已在服务器 B 上创建了一个接口,以便在更新员工 ID 值时,将此更改镜像到服务器 A 上,以便员工 ID 值保持同步。

    【讨论】:

      【解决方案2】:

      您可以使用 Forms 身份验证和 AD 授权提供程序。

      http://msdn.microsoft.com/en-us/library/ff650308.aspx

      【讨论】:

      • 此过程需要通过表单身份验证输入的用户名/密码,用于检查 AD。如果可能,我试图避免用户通过 Server-A 上的表单登录,从而允许 Server-A 和 Server-B “共享”身份验证票。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 2020-07-09
      • 2022-11-03
      • 1970-01-01
      • 2020-12-27
      • 2012-04-08
      • 1970-01-01
      相关资源
      最近更新 更多