2017-06-22 24 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

相关问题