用户“NT AUTHORITY\ANONYMOUS LOGON”和 Kerberos 委派登录失败

用户“NT AUTHORITY\ANONYMOUS LOGON”和 Kerberos 委派登录失败

我们正在使用带有 IIS 8.5 的 Windows 2012 将旧应用程序移动到新环境,并且遇到了以下错误:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. Reason: Could not find a login matching the name provided. [CLIENT: 10.107.23.103]

这似乎很常见。我在网上读到的所有地方都提到了“双跳”错误。但是,据我所知,使用委托只会使用客户端的凭据连接到数据库,而不会使用运行应用程序池的域帐户(即有权访问数据库的帐户)。

我也读过这篇文章(https://www.mssqltips.com/sqlservertip/2312/understanding-when-sql-server-kerberos-delegation-is-needed/),其中提到,此场景不需要 Kerberos 委派:

“用户连接到不同系统上的网站或应用程序,并使用 Windows 域帐户(非用户帐户)或 SQL Server 登录名连接到 SQL Server。”

这看起来就像我想要实现的目标。

IIS 服务器上是否存在任何配置错误,导致应用程序在尝试连接到 SQL Server 时失败?

答案1

我刚刚找到了解决方案。该问题与以下情况有关:

<identity impersonate="true" /> 

在 web.config 上。将其设置为“false”解决了该问题。

答案2

看起来您需要在另一个帐户下运行应用程序池,例如“网络服务”。然后您需要为帐户“domain\iis-server-name$”授予对 MS SQL 的访问权限。

并且您可能需要在 IIS(或站点)设置中启用“Windows 身份验证”。

相关内容