2017-06-22 54 views
0

我想用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 CodeClassic管道模式。在高級設置我設置Identity下過程模型到現有的Windows用戶帳戶:

advanced application pool settings

當我在連接字符串中使用Trusted_Connection=True,申請未能通過驗證我的SQL服務器連接:

"ConnectionStrings": { 
    "DashboardDatabase": "Server=<SOME_SERVER>;Database=<SOME_DATABASE>;Trusted_Connection=True" 
} 

(當然,其中和由服務器和數據庫的實際名稱取代)。

我的問題是:我在這裏忘了什麼嗎?

回答

0

我的設置與您的設置完全相同,而且我的工作也很完善。您是否將forwardWindowsAuthToken="true"添加到您的web.config文件中?如果您尚未創建web.config文件,則可能需要在應用程序的根文件夾中創建該文件。請參閱package repo

僅供參考我也有Integrated Security=true;在我的連接字符串,不知道是否需要。

+0

是的,我已經在我的web.config中啓用了forwardWindowsAuthToken(它是由'dotnet publish -c Release'命令產生的,我會嘗試Integrated Security部分,認爲它和'Trusted_Connection'一樣 – mslourens

相關問題