首页 > 解决方案 > 多个项目的 ASP.NET ActiveDirectory 联合身份验证

问题描述

此时,我们公司正在托管多个(内部)项目,所有项目都在 Windows 身份验证下相互关联。有了这个 - 很容易 - 我们只需在 IIS 中设置 windows 窗体身份验证,所有这些都是安全的,需要一次登录,并且用户在所有这些中都登录了。

主要应用如下:

在 IIS 下,我们的项目如下所示:

- Sites
  - hostname
      Client side application with 
      index.html
      all of the other front end resources
      web.config for clientside application
      - ServerSideApplication (MVC4 project)
          - its bin
          - web.config for serverside application
      - Proxy application (Strange ASP.NET project)
          - its bin
          - web.config for proxy application

URL是这样制作的

现在我的任务是为此系统启用联合身份验证,但我没有足够的知识将所有这些连接在一起!

我正在考虑创建新的 MVC 项目以获取一些示例,并选择“工作或学校帐户”和“本地”的身份验证。这将创建一个可以为我工作的应用程序。但这是针对单个应用程序的。我将如何处理客户端应用程序?我是否需要将其包装在 ASP.NET MVC 项目中,并设置与服务器端应用程序相同的设置?我注意到 - 如果我创建一个 WebAPI 项目,它会添加令牌身份验证。有了这个,我需要客户端应用程序额外的步骤来获取该令牌,并与请求一起发送?

我应该如何构建这个系统?不需要具体的代码示例,寻找解决方案的一些提示,一些经验将不胜感激。

标签: asp.netauthenticationactive-directoryadfs

解决方案


是否需要使用 Azure AD 或 ADFS 进行身份验证?

Azure AD =“工作或学校帐户”

ADFS =“本地”

这里有 Azure AD 示例。

这里有 ADFS 示例。

对于这两种情况,您都需要为每个应用程序配置 IDP。

应用程序称为依赖方 (RP),每个应用程序都有一个 RP 配置。

如果应用程序调用一个 Web API,那么就是两个 RP。

然后,您为应用程序配置访问 Web API 的权限。

找到一个与您的用例类似的示例,它将更详细地解释这一点。


推荐阅读