模拟从其他域访问MSSQL服务器的Windows用户

时间:2017-11-27 08:06:19

标签: c# sql-server cross-domain impersonation

使用C#我正在尝试使用Windows服务中的Windows用户模拟连接到MSSQL服务器。 MSSQL服务器位于域A中,服务位于域B中。通过此域服务,BI可以使用LogonType = 9(新凭据)和使用WindowsIdentity的LogonUser Windows API从MSSQL服务器模拟Windows用户(域A)。模拟创建模拟上下文。 Windows用户配置为可以访问MSSQL服务器。

问题是收到的例外:

  

System.Data.SqlClient.SqlException:登录失败。登录来自   不受信任的域,不能与Windows身份验证一起使用。

如何解决这个问题?我希望在代码,编程或MSSQL配置中有关于可信域或两者的解决方案。

integratedSecurity = true
logonType = 9

using (new Impersonation(domainName, userName, password, integratedSecurity, logonType))
{
  connectionStringBuilder.DataSource = host;
  connectionStringBuilder.InitialCatalog = database;
  connectionStringBuilder.Pooling = false;
  connectionStringBuilder.IntegratedSecurity = integratedSecurity;
  connectionStringBuilder.ConnectTimeout = connectionTimeout;

  using (Connect = new SqlConnection(connectionStringBuilder.ConnectionString)) <--- exception
  {

0 个答案:

没有答案