我想用Trusted_Connection = True来验证我的MSSQL连接。为了得到这工作,我安装的NuGet包Impersonate.AspNetCore.Windows
(Impersonate),并把它架在我的Startup.cs,像这样:如何在dotnet core 1.1中使用模拟?
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseWindowsImpersonation(options => {
options.Enabled = true;
});
}
在我的Program.cs我添加UseIISIntegration
设置.NET核心托管在IIS:
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"
}
(当然,其中和由服务器和数据库的实际名称取代)。
我的问题是:我在这里忘了什么吗?
是的,我已经在我的web.config中启用了forwardWindowsAuthToken(它是由'dotnet publish -c Release'命令产生的,我会尝试Integrated Security部分,认为它和'Trusted_Connection'一样 – mslourens