2017-09-19 265 views
1

我需要将连接字符串中用户名和密码的网站数据库连接切换为NTLM - 从我所知道的情况来看,这应该只是更新连接字符串的问题。NTLM sql连接字符串

我花了一些时间在这里和一般的网络拖网;我发现了很多非常令人困惑的页面,它们解释了NTLM的工作原理(我以前从未使用过任何类型的认证),但还没有找到如何在我的web.config中设置连接字符串的简单示例使用NTLM。

任何人都可以提供一个NTLM配置的连接字符串应该看起来如何(我有服务帐户的名称和密码)的例子 - 或者如果我误导了,有人可以指示我的方向一步一步 - 一步指导如何将这个连接集成到我的网站?

+0

它不叫NTLM。谈到数据库时,它从未被称为NTLM。它始终是集成或Windows身份验证。 –

+0

你(应用程序,服务器,不管)*不需要知道协议的任何信息。当一个应用程序尝试使用资源时,无论是文件,网络共享还是远程数据库,操作系统本身都会以该用户身份进行呼叫。 –

回答

2

您可能正在努力寻找关于此的体面信息,因为它通常不再被称为NTLM。

在SQL Server的说法中,你要找的是“集成安全性”。您可以在connection string为指定此:

Server=SomeServer;Database=SomeDatabase;Integrated Security=SSPI; 

这应该是足够的 - 连接的安全性将根据其下的代码执行,而不是明确地提供用户名/密码组合的Windows用户帐户。

SSPI代表Security Support Provider Interface,用于表示可以协商安全协议(如NTLM和Kerberos)的范围

+0

我认为即使SSPI关键字不再使用,因为SSPI本身已被替换。后来的连接字符串使用'Trusted_Connection = true'。 –

+0

@PanagiotisKanavos - 'SSPI'是首选的值,因为'true'和'sspi'对于SQL Server提供者是可以互换的,但其他一些提供者只支持(编辑)'sspi' - 见[here](https:// stackoverflow.com/a/23637478/15498) –