2

请假设有两个服务器:

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

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

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

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

4

2 回答 2

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 值保持同步。

于 2012-12-18T13:39:59.020 回答
0

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

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

于 2012-11-27T10:29:04.720 回答