C# 使用Windows身份验证连接到不同域上的不同数据库

C# 使用Windows身份验证连接到不同域上的不同数据库,c#,sql-server,cross-domain,database-connection,windows-authentication,C#,Sql Server,Cross Domain,Database Connection,Windows Authentication,我必须使用连接到不同DBs/服务器上的第三方工具来收集一些数据并做一些工作。这个应用程序做什么并不重要,只需注意它连接到Domain1上的Server1\DB1和Server2\DB2。两台服务器仅使用Windows身份验证(即客户端必须连接到IntegratedSecurity=true)。这种方法在域1中非常有效。但有一天,我们决定将此应用程序移动到另一个域(业务原因)。我们在另一个域上创建了Server1\DB1的镜像(称之为Server1IOtherDomain\DB1)。目前,该应用程

我必须使用连接到不同DBs/服务器上的第三方工具来收集一些数据并做一些工作。这个应用程序做什么并不重要,只需注意它连接到
Domain1
上的
Server1\DB1
Server2\DB2
。两台服务器仅使用Windows身份验证(即客户端必须连接到
IntegratedSecurity=true
)。这种方法在
域1
中非常有效。但有一天,我们决定将此应用程序移动到另一个域(业务原因)。我们在另一个域上创建了
Server1\DB1
的镜像(称之为
Server1IOtherDomain\DB1
)。目前,该应用程序可以与S
server1otherdomain\DB1
一起使用,因为我以新域用户的身份运行它,看起来一切正常。我们只需要在我们的环境中支持新版本的DB。然而,几天前我们已经认识到,到
Server2\DB2
的连接字符串是硬编码的,我们不能对
Server2\DB2
执行同样的操作(在我们的
OtherDomain
上创建镜像)。显然,有些功能无法正常工作,只是因为它无法访问
Domain1
中的
Server2\DB2
。 总而言之,我有一张照片:


我的两个问题:

  • 是否可以在
    OtherDomain
    中运行应用程序,使其连接到不同域中的两个DBs
  • 有没有可能制作一个C#程序,可以连接到不同领域的不同服务器上?例如,对不同的主机使用不同的Windows身份验证,如何管理此类情况

  • 回答第二个问题:
    有可能有一个可以跨不同域使用的C#程序,看看简单的C#实现,了解有关跨域身份验证的更多详细信息,以及与SQL Server和跨域身份验证相关的更具体的问题。
    您需要采取一些步骤使两个域相互信任,以允许从一个域到另一个域的连接,但是这也会使两个域面临更多的安全问题,这些决策需要由网络管理员评估和做出


    我还建议您查看一下示例和其他信息,了解如何具体实现模拟。

    请注意,此应用程序是第三方应用程序,我无法重建它。我尝试以不同的用户身份运行它,但与服务器1其他域\DB1的连接中断。因为在OtherDomain中运行,我不能使用旧的
    Server1\DB1
    。这两个域都是信任关系吗?如果应用程序是第三方的,那么这不是一个编程问题,而是一个可能更适合询问的基础结构问题,不是吗?您是否有任何错误消息?