【问题标题】:Windows authentication between services in the same domain without Kerberos delegation没有 Kerberos 委派的同一域中的服务之间的 Windows 身份验证
【发布时间】:2019-01-23 22:20:02
【问题描述】:

我们有两个 Intranet 应用程序都托管在同一个域上,都托管在 IIS 上,都使用 Windows 身份验证,但托管在不同的 windows 2008 服务器上。

我的目标是让 ASP.net Web 应用程序 A 调用服务 B。我还希望 A 将登录用户的身份验证信息传递给 B。

有一件事,我想避免 Kerberos 委托,因为设置它的麻烦和安全问题。

您能推荐我实现目标的方法吗?

【问题讨论】:

  • 这些是 Web 应用程序公开的 REST api 吗?由于这些是 Intranet 应用程序并且可以通过 SSL HTTP 基本身份验证应该足够且易于实现。
  • @AndyDufresne 嗨,Andy,基本身份验证需要我们访问我们没有的用户名和密码,因为登录用户由域控制器进行身份验证。

标签: asp.net architecture kerberos windows-authentication kerberos-delegation


【解决方案1】:

我不确定您认为如何在不进行委托的情况下安全地从 A 验证 B。

如果您不担心安全地执行此操作,您可以在请求中传递用户名并在远端模拟。

或者,您可以将经过身份验证的信息填充到令牌(JWT、SAML 等)中,使用共享密钥对其进行签名,并将其包含在请求中。然后服务器 B 可以使用共享密钥对其进行验证,并根据需要进行模拟。这确实意味着您需要确保两个服务器都知道秘密,并弄清楚如何生成令牌。

不过,委派是明智的选择。您不必弄清楚模拟或建立一种方法来铸造和验证令牌。它主要是配置驱动的。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多