使用 IdentityServer 和 Active Directory 的 SSO



我们使用 IdentityServer4 创建了一个 SSO 解决方案。我们的公共/附属用户由存储在数据库中的帐户进行身份验证,我们的公司/内部用户使用其Active Directory帐户进行身份验证。

我们遇到的问题是,当我们在DMZ(而不是我们的域)上托管IdentityServer解决方案时,它无法访问Active Directory(在我们的域上)来验证用户的登录凭据和角色/声明。

我的目标是知道这个问题的最佳解决方案。

  • 实施 Active Directory 联合身份验证服务的最佳做法是什么?
  • 我们是否需要在我们的域上托管 IdentityServer,以便它具有 AD 访问权限,然后创建第二个应用程序来托管外部并调用我们的实际 IdentityServer?
  • 我们的网络团队是否可以实施安全的解决方案来允许外部服务器访问我们域上的 AD(即:以某种方式向 IIS 应用程序池标识授予 AD 权限)?

对这里的最佳实践有点不知所措。不确定这对我们的网络/运营团队还是我们的开发团队来说是个问题。

提前谢谢。

IdentityServer4 支持将 UI(登录页面)部署为单独的应用程序。因此,一种解决方案是在DMZ中使用UI,并在域中使用其他BE服务器。 在所有其他情况下,您将提供对 DMZ 中服务器的数据库访问(这不应该是最好的选择)。

最新更新