2017-10-06 68 views
0

我想使用安全的SqlCredential對象來處理連接到我們的SQL數據庫的憑據。我可以使用SqlCredential與實體框架進行SQL連接嗎?

.NET有一個SqlConnection構造函數的重載,它需要一個連接字符串和SqlCredential,因此您不必將憑據嵌入到連接字符串本身中。我想在創建一個DBContext實例時爲Entity Framework使用類似的東西。

  1. 我需要控制連接字符串,該連接字符串被實體框架用於連接。
  2. 我想使用更安全的方式處理憑​​據,使用SQLCredential,NetworkCredential或SecureString並將其傳遞給DBContext來創建連接。

有沒有辦法做到這一點?

(順便說一句,我們不能使用Windows集成的安全作爲我們的數據庫沒有設置爲和我不是在一個位置,以改變這種狀況。)

+1

也許這可能是幫助:對於實體框架在代碼中設置的憑據,而無需使用集成安全性,只存儲配置文件中的用戶ID(https://開頭stackoverflow.com/q/6606020/) – NightOwl888

回答

2

您可以創建SqlCredential一個普通的SqlConnection就像你習慣的那樣,然後把它傳遞給實體框架DbContext的構造函數。

中的DbContext有這樣的構造:

public DbContext(DbConnection existingConnection, bool contextOwnsConnection); 
相關問題