我想用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