ASP.NET 藉由調整連線字串切換 Windows 驗證與 SQL Login 驗證

2022-12-30

筆記如何切換 Web.config 的 ConnectionString 達到選擇使用 Windows 驗證 (Intergrated Security) 與 SQL Login 驗證的調整方式。

logo

說明

使用 Windows 驗證作為連線驗證方式

<add name="NorthwindEntities" connectionString="metadata=res://*/Models.Northwind.csdl|res://*/Models.Northwind.ssdl|res://*/Models.Northwind.msl; provider=System.Data.SqlClient;provider connection string=&quot;data source=sqlserverdev.domain;initial catalog=Northwind; integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

使用 SQL Login 作為連線驗證方式

<add name="NorthwindEntities" connectionString="metadata=res://*/Models.Northwind.csdl|res://*/Models.Northwind.ssdl|res://*/Models.Northwind.msl; provider=System.Data.SqlClient;provider connection string=&quot;data source=sqlserverdev.domain;initial catalog=Northwind; persist security info=True;user id=*;password=*; MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

兩者的差異關鍵點即 integrated security=True; 調整為 persist security info=True;user id=*;password=*;

此外 Windows 驗證也可以使用下列方式 Integrated Security=SSPI

參考資料

你認為偷懶的方法卻是最安全的方法 | 小朱® 的技術隨手寫

講解 SQL 連線字串中關於 Persist Security Info 參數的用途 | Will 保哥