我認爲這很簡單,但我似乎無法弄清楚。我想要一個C#表單詢問用戶名和密碼。我想通過詢問SQL是否可以登錄到SQL數據庫來驗證用戶。我已經嘗試了一種基本的方法,只是將用戶名和密碼放在連接字符串中,但那不起作用,我收到一條錯誤消息「用戶某某無法訪問」我是假設是因爲密碼沒有正確傳遞。這是我有:使用Active Directory憑據連接到SQL Server
Web.config文件:
<connectionStrings>
<add name="connectionname"
connectionString="Data Source=myserver;Initial Catalog=mydb;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<identity impersonate="true" />
....
我的代碼背後:
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=myserver;Initial Catalog=mydb;User ID=" + useridTextBox.Text + ";Password=" + passwordTextBox.Text;
con.Open();
con.Close();
//successful login
validDBLogin = true;
pageMsg.Text = "Successful AD and DB login";
}
catch (Exception err) //if error Opening, catch the error, and display
{
pageMsg.Text = "No access to the Database";
pageMsgAdditional.Text = err.Message.ToString();
validDBLogin = false;
}
必須有辦法做到這一點?我的目標是使用SQL進行身份驗證。如果用戶想要訪問,我可以讓他們訪問數據庫,這就是我必須要做的。我也希望以這種方式集成安全性,這樣我就可以跟蹤哪個用戶運行了哪個sql查詢。 (不知道它是否有所作爲,但我們正在使用Active Directory作爲這些帳戶,至今沒有任何問題)。
在此先感謝!
謝謝。我想選項2已經不存在了,(我正在嘗試'domain \ xxxx')。我最初嘗試了選項一,但從sql中獲得錯誤消息「登錄失敗。登錄來自不受信任的域,不能與Windows身份驗證一起使用。」我不認爲它使用我的表單用戶名/密碼。我如何告訴它明確使用我在表單中輸入的用戶名/密碼(哪些是廣告憑證)? – russds 2013-04-22 21:54:14