我已经阅读了许多博客,以及许多关于如何让我的 IIS 服务器将经过身份验证的用户传递给 SQL 的文章。然而,我被困在我究竟需要什么来设置我的 SPN 上。这是我的设置...
IIS:
应用程序池 .Net v4.0
集成管道
标识 = NetworkService
身份验证:
ASP.NET Impersonation = True(已启用)
Windows 身份验证已启用
Provider = Negotiate:Kerberos
Disabled 内核模式身份验证
IIS SERVER:
信任任何服务的委派(仅限 kerberos)
SQL SERVER:
信任任何服务的委派(仅限 kerberos)
根据我对这些设置的理解,我应该将我当前登录的 Windows 帐户传递到 IIS 服务器,它应该将该令牌传递给 SQL 以进行身份验证我。但是,它只是不断地提示我输入站点的用户/通行证。
我发现这篇文章http://blog.reveille.org.uk/2010/01/asp-net-impersonation-delegation-2/告诉我我需要在“机器”上使用类似这样的设置 SPN:
setspn -A HTTP/[dns name of the site] [machine name]
我不确定我需要什么 SPN。谁能帮帮我?我在想它就像
setspn -A HTTP/mywebserver.mydomain.com mywebserver
或者在我的应用程序池中使用域帐户并设置 SPN 会更好吗?