从外部 c# web 应用程序连接 adfs 中的用户

从外部 c# web 应用程序连接 adfs 中的用户

我正在创建一个 Web 应用程序,供 Active Directory 中包含的用户使用。

之前,我们使用 LDAPS 将应用直接连接到广告。我的客户现在使用 ADFS,并希望关闭 LDAPS“网关”

我有点迷茫,但这是我的理解:

ADFS 将与 AD 位于同一个域控制器上。由于我的 Web 应用程序位于另一个域中的另一台服务器上,因此我的客户端必须指定从我的服务器发出的声明是可信的。

所以我的问题是:

1——我的客户在 adfs 中要做什么?

  • 我看到了依赖方的概念,但是这个概念是否仅当我在服务器上安装了 ADFS 时才使用?或者我走对了方向?

2-我需要在我的服务器上安装任何东西吗?

  • 我想我的客户需要给我一份证书,这样我的通话才值得信任。
  • 我是否必须将 ADFS 安装到我的服务器上,声明将在 adfs 之间进行?
  • 我需要安装 ADFS 代理吗?

提前谢谢您,我比开始搜索之前更加迷茫了。

PS 我无法使用集成的 Visual Studio 工具连接到 ADFS,因为我有混合身份验证(数据库和 ADFS)

答案1

您确实应该在 stackoverflow 中寻找开发人员指导,而不是在 serverfault 上寻找 IT 专业观点。

客户端将是验证凭据的身份提供者 ad fs。他们将安装 ad fs 并创建指向您的应用程序的依赖方。

您将需要在您的服务器(依赖方)上使用一些中间件,例如 wif 或 owin,以使用传入的令牌并对您的应用进行编码以使其能够感知声明。

我建议回顾一下https://msdn.microsoft.com/en-us/library/hh873308(v=vs.110).aspx它展示了在这种情况下如何使用 wif。

答案2

假设 ADFS / AD 是域 a。您的应用程序是域 b。

  • 我的客户在 adfs 中要做什么?

您需要将客户端配置为 ADFS 中的 RP。配置方式取决于您要使用的协议。您可以选择:

  1. 维夫
  2. 通过 OWIN 进行 WS-Fed
  3. 通过 OWIN 进行 SAML
  4. 通过 OWIN 进行 OpenID Connect/OAuth(ADFS 4.0)

您不需要在域 B 上安装 ADFS。

  • 我需要在服务器上安装任何东西吗?

在域 B 中?不。如果您想使用代理,则代理安装在域 A 上。

请注意,由于您的应用位于不同的域中,因此未加入域,因此您将无法使用 IWA。您将使用 FBA。

相关内容