登錄SQL SERVER的WINDOWS和SQL SERVER身份驗證的兩種連接字符串


自己代碼中的配置信息

//windows身份驗證使用的

<appSettings>
<add key="ConnctionStr" value="server=1.1.0.1;database=1;integrated security=true"/>
</appSettings>

 

//sql server登陸驗證所需要的

<appSettings>
<add key="ConnctionStr" value="server=1.1.0.1;database=1;integrated security=false;uid=sa;pwd=123"/>
</appSettings

  

Windows身份驗證使用Windows登錄用戶身份連接數據庫,而SQL身份驗證要求顯式地指定SQL Server用戶ID和密碼。

使用Windows身份驗證,必須在連接字符串中包括 Integrated Security 屬性:

Data Source=Server;Integrated Security=True;

Integrated Security 身份驗證方式可識別的值為true、false、yes、no以及與true等效的SSPI。

指使用windows自帶的安全驗證機制,不用加uid和password也可以打開數據庫,如果沒有那一句,就必須在連接字符串里寫上uid=sa;password=00; 否則不能打開數據庫

默認情況下,Integrated Security 屬性為 False ,這意味着將禁用Windows身份驗證。如果沒有把這個屬性的值設置為True,連接將使用SQL Server身份驗證,因此,必須提供SQL Server用戶ID和密碼。Integrated Security屬性還能識別的其他值只有SSPI(Security Support Provider Interface,安全性支持提供者接口).在所有的Windows NT操作系統上,其中包括Windows NT 4.0、2000、XP,都支持值SSPI。它是使用Windows身份驗證時可以使用的惟一接口,相當於把Integrated Security 屬性值設置為True。

在Windows身份驗證模式中,SQL Server使用Windows的安全子系統對用戶連接進行有效性驗證。即使顯示地指定用戶ID和密碼,SQL Server也不檢查連接字符串中的用戶ID和密碼。因為只有Windows NT、2000、XP支持SSPI,因此如果正使用的是這些操作系統,則只能使用Windows集成的安全策略去連接SQL Server。不論使用哪一個操作系統,當使用SQL Server身份驗證時,必須在連接字符串中指定用戶ID和密碼:

   Data Source=ServerName;User ID=aa;Password=aa

默認情況下,SQL Server .NET Data Provider連接指定用戶的默認數據庫,當在數據庫中創建用戶時,可以設置用戶的默認數據庫。此外,也可以在任意時間更改用戶的默認數據庫。例如,系統管理員的默認數據庫是master。如果想要連接不同的數據庫,應該指定數據庫的名稱:

   Data Source=Server;Integrated Security=SSPI;Initial Catalog=databse

Microsoft安全支持提供器接口(SSPI)是定義得較全面的公用API,用來獲得驗證、信息完整性、信息隱私等集成安全服務,以及用於所有分布式應用程序協議的安全方面的服務。應用程序協議設計者能夠利用該接口獲得不同的安全性服務而不必修改協議本身。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM