具體說明三種ADO.NET SQL Server登錄類型
ADO.NET SQL Server是默認模式(通常稱為集成安全),因為此 SQL Server 安全模型與 Windows 高度集成。信任特定的微軟用戶和組帳戶登錄 SQL Server。已經過身份驗證的 Windows 用戶不必提供附加的憑據。
◆混合模式支持通過 Windows 和 SQL Server 進行的身份驗證。ADO.NET SQL Server用戶名和密碼對保留在 SQL Server 中。
我們建議盡可能使用 Windows 身份驗證。ADO.NET SQL Server身份驗證使用一系列加密消息驗證 SQL Server 中的用戶。使用 SQL Server 登錄時,會通過網絡傳遞 SQL Server 登錄名和密碼,這樣會降低它們的安全性。使用 Windows 身份驗證,已經登錄到 Windows 的用戶不必再單獨登錄到 SQL Server。下面的 SqlConnection.ConnectionString 可指定 Windows 身份驗證,而無需用戶名或密碼。#t#
"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true; ADO.NET SQL Server登錄名與數據庫用戶名不同。您必須通過單獨的操作將登錄或 Windows 組映射到數據庫用戶或角色。然后向用戶或角色授予訪問數據庫對象的權限。
ADO.NET SQL Server身份驗證方案
在下列情形中,Windows 身份驗證通常為最佳選擇:
◆存在域控制器。
◆應用程序和數據庫位于同一臺計算機上。
◆您正在使用 SQL Server Express 的實例。
SQL Server 登錄常常在以下情況中使用:
◆您有工作組。
◆用戶從其他不受信任的域進行連接。
◆Internet 應用程序(例如 ASP.NET)。
指定 Windows 身份驗證不會禁用 SQL Server 登錄。使用 ALTER LOGIN DISABLE Transact-SQL 語句會禁用具有高特權的 SQL Server 登錄。
ADO.NET SQL Server身份驗證登錄類型
SQL Server 2000 支持三種登錄類型:
◆本地 Windows 用戶帳戶或受信任的域帳戶。SQL Server 依賴 Windows 來對 Windows 用戶帳戶進行身份驗證。
◆Windows 組。向 Windows 組授予訪問權限會向作為該組的成員的所有 Windows 用戶登錄授予訪問權限。
◆SQL Server 登錄。SQL Server 將用戶名和密碼的哈希形式都存儲在 master 數據庫中,ADO.NET SQL Server用內部身份驗證方法驗證嘗試的登錄。