Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从非域web主机连接到SQL Server的最佳方法_Asp.net_Sql Server_Connection String - Fatal编程技术网

Asp.net 从非域web主机连接到SQL Server的最佳方法

Asp.net 从非域web主机连接到SQL Server的最佳方法,asp.net,sql-server,connection-string,Asp.net,Sql Server,Connection String,我想使用域帐户从不在域中的web主机连接到SQL Server。这是一个普通的ASP.NET web应用程序。这个非域站点使用域凭据访问Reporting Services,我不知道为什么SQL连接不允许这样做 我们有很多内部应用程序(win form和web form),这是最后一个转换为集成安全性的应用程序,因此我们可以通过广告全面管理权限,但如果我必须用SQL来完成,那么我可以接受失败 有人知道怎么做了吗?还是不可能?您可以和更高版本的软件连接,但这要求您可以从远程计算机连接到域 您可以使

我想使用域帐户从不在域中的web主机连接到SQL Server。这是一个普通的ASP.NET web应用程序。这个非域站点使用域凭据访问Reporting Services,我不知道为什么SQL连接不允许这样做

我们有很多内部应用程序(win form和web form),这是最后一个转换为集成安全性的应用程序,因此我们可以通过广告全面管理权限,但如果我必须用SQL来完成,那么我可以接受失败

有人知道怎么做了吗?还是不可能?

您可以和更高版本的软件连接,但这要求您可以从远程计算机连接到域


您可以使用域凭据连接到Reporting Services,因为它使用NTLM进行Windows集成身份验证,该身份验证通过HTTP身份验证。到SQL Server的直接连接不使用HTTP,因此这种类型的身份验证不可用。

您需要将SQL框连接到Web应用程序域,或者以其他方式连接,或者在域之间建立信任关系

runas /netonly /user:domain\username "c:\path\ssms.exe"
请看这里的帖子:

我知道,在标准windows安全中,如果您有客户端本地用户帐户,则该帐户的用户名和密码与服务器上的帐户相同。我不确定广告在多大程度上干扰了这一点。您可能会在服务器故障方面得到经验更丰富的响应,这主要集中在专业级别的系统和服务器管理上。在类似的情况下,我通常会放弃创建SQL用户祝你好运,对于一个显示想法的问题,+1。凭据取自运行你的web应用程序的线程。您可能能够模拟用户并将线程的标识更改为域帐户。我不知道所有的细节,但这可能会有所帮助:我很确定我在这一过程中证实了这个想法,但我又尝试了一次。尝试将我的本地用户名与我的域用户名(相同的密码,必须授予文件夹权限并作为服务/批处理策略登录)匹配失败,导致连接到SQL时出现异常:登录失败。登录名来自不受信任的域,无法与Windows身份验证一起使用。这对我来说很有意义,因为我不知道集成安全性如何工作(即身份验证必须在非域主机上进行,然后在访问SQL Server时提供生成的凭据-这是不可能发生的)。我必须能够修改连接字符串,以提供与SSR类似的用户/传递凭据,但这是一个web服务。据我所知,集成安全性的连接字符串不支持此功能。因此,我无法在编码(即模拟)中更改标识,因为没有域控制器来处理更改标识所需的身份验证。我想我必须能够提交一个带有凭据的请求。我没有从“设置线程标识”链接中得到这种印象。哦,这看起来很有希望。我将在下周对此进行尝试并进行检查。加入域或创建信任关系是不可能的,因为此框位于DMZ中,并且已被锁定。另外,我需要我的web应用程序来访问SQL,而不是Management Studio。这是一个可供公众访问的生产Web服务器。