我正在尝试使用Trusted_Connection = True验证我的MSSQL连接。为了实现这一点,我安装了NuGet包Impersonate.AspNetCore.Windows
(Impersonate),并在我的Startup.cs中进行设置,如下所示:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseWindowsImpersonation(options => {
options.Enabled = true;
});
}
在我的Program.cs中,我添加了UseIISIntegration
来设置要在IIS中托管的.net核心:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
在IIS中,我创建了一个新网站,将ApplicationPool基本设置更改为No managed Code
和Classic
管道模式。在高级设置中,我将处理模型下的Identity
设置为现有的Windows用户帐户:
当我在连接字符串中使用Trusted_Connection=True
时,应用程序无法验证我与SQL服务器的连接:
"ConnectionStrings": {
"DashboardDatabase": "Server=<SOME_SERVER>;Database=<SOME_DATABASE>;Trusted_Connection=True"
}
(当然,其中和替换为服务器和数据库的实际名称)。
我的问题是:我忘记了什么吗?
答案 0 :(得分:0)
我和你有完全一样的设置,我让它运转起来。您是否已将forwardWindowsAuthToken="true"
添加到web.config
文件中?如果还没有,您可能必须在应用程序的根文件夹中创建web.config
文件。请参阅package repo
仅供参考我的连接字符串中也有Integrated Security=true;
,不确定是否需要。