2017-09-19 311 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) –