使用域外的AD登录详细信息验证SQL连接

本文关键字:详细信息 验证 SQL 连接 登录 AD | 更新日期: 2023-09-27 18:09:38

我正在尝试从外部连接到SQL服务器。

我有以下连接字符串:

SqlConnection("SERVER=Server;DATABASE=Database;User ID=Domain'User;Password=password");

当我尝试在域外使用这个时,这将失败,因为它试图使用SQL身份验证登录。

是否有办法将命令传递到字符串中以使用Active Directory身份验证。

使用域外的活动目录详细信息连接到SQL服务器还有哪些其他方法?

使用域外的AD登录详细信息验证SQL连接

您需要:

  1. 在您的连接字符串中使用集成安全,并在您的资源域(SQL server所在的位置)和您的帐户域(帐户所在的位置)之间创建域信任关系。还是…
  2. 在SQL Server中创建一个帐户,并在连接字符串中使用该帐户作为用户名和密码。

你正在做一个无效的混合,把域凭据放在user/pass中,甚至没有信任关系。

编辑:

注释表明需要将SQL帐户与AD信用同步。这是不必要的。sql帐户只是sql范围内的用户名和密码,特定于sql服务器,与域信用无关。如果您使用SQL帐户,那么这些将成为应用程序中的配置设置,用于构建正确的连接并通过网络发送。SQL server在本地验证这些信用,而不涉及AD。

同样有趣的是,你是创建一个2层(胖客户端直接访问sql)还是3层(客户端访问访问sql的中间层应用服务器)。如果是后者,您的应用程序将对用户进行身份验证和授权,之后,它将使用其中包含sql特定的user/pass的配置设置来访问sql。如果是前者,你使用sql帐户,那么你需要一个客户端,这是一个问题。