没有Kerberos委派的同一域中服务之间的Windows身份验证

时间:2019-01-23 22:20:03

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

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

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

有一件事,我想避免Kerberos委派,这是因为设置它的麻烦以及安全问题。

能否请您推荐实现目标的方法?

1 个答案:

答案 0 :(得分:1)

我不确定您如何认为您可以安全从A对B进行身份验证,而无需进行委派。

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

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

委派是前往此处的明智之举。您不必弄清楚模拟或建立一种铸造和验证令牌的方法。主要是配置驱动。