我有一个服务,我想在访问数据库时使用我想访问数据库以使用调用身份凭证。
在访问特定数据库之前,我通过以下方式进行模拟
var winId = HttpContext.Current.User.Identity as WindowsIdentity;
var ctx = winId.Impersonate();
//Access Database
ctx.Undo();
当服务在我的 PC 上本地运行时,此方案运行良好。但是,当部署在另一台远程 PC 上时,出现错误:
用户“NT Authority\Anonymous Logon”登录失败
一旦它尝试访问数据库。
DBAdmin 告诉我 SQL Server 有一个 SPN。
运行服务的帐户是域帐户。