MVC错误用户“ NT AUTHORITY \ ANONYMOUS LOGON”的登录失败 System.Data.SqlClient.SqlException

问题描述

我们正在使用MVC4创建一个Web应用程序,并使用IIS托管该应用程序。我们在应用程序池中使用服务帐户作为用户以前连接到数据库。现在我们希望用户使用其Windows凭据来连接到数据库我们使用身份验证模式为“ Windows”,并模拟为“ true” 在IIS身份验证中,我们启用了Windows身份验证和ASP.net模拟。 但是,当我尝试从应用程序连接到数据库时,出现以下错误用户'NT AUTHORITY \ ANONYMOUS logoN'的登录失败。”
异常为“ System.Data.sqlClient.sqlException” 有人可以指导我实现以上要求吗?

解决方法

这是Kerberos Double-Hop方案,需要启用Kerberos Constrained Delegation,并且要求IIS和SQL Server为它们的服务助手具有正确的服务器主体名称(SPN)。

例如参见hereMicrosoft® Kerberos Configuration Manager for SQL Server®