我正在編寫一個解密程序,業務要求是兩個用戶必須登錄才能使其工作。我如何編寫在C#中試圖將兩個用戶登錄到SQL的程序?用戶是SQL用戶,我無法弄清楚如何在C#中驗證SQL用戶。如何使用SQL Server和C一次驗證兩個用戶
我想象了一個帶有兩個用戶名插槽和兩個密碼插槽並共享登錄按鈕的登錄屏幕。點擊後,每個用戶都會進行用戶驗證。如果兩個驗證都成功,則解密該文件。
任何幫助,建議或方向將不勝感激。
我正在編寫一個解密程序,業務要求是兩個用戶必須登錄才能使其工作。我如何編寫在C#中試圖將兩個用戶登錄到SQL的程序?用戶是SQL用戶,我無法弄清楚如何在C#中驗證SQL用戶。如何使用SQL Server和C一次驗證兩個用戶
我想象了一個帶有兩個用戶名插槽和兩個密碼插槽並共享登錄按鈕的登錄屏幕。點擊後,每個用戶都會進行用戶驗證。如果兩個驗證都成功,則解密該文件。
任何幫助,建議或方向將不勝感激。
認證用戶的方法將是這個樣子 - 注意,連接字符串需要進行修改,在catch語句的具體應用,並在MessageBox可能是太多了,對於普通用戶:)
private bool AuthenticateUser()
{
// rather than picking up variable names, I am picking up the information from the text boxes on the screen.
bool retVal = false;
string cs1 = "Data Source=yourdatasource;Initial Catalog=yourcat;Persist Security Info=True;User ID=" + txtLogin1.Text.Trim() + ";Password=" + txtPW1.Text.Trim() + ";";
string cs2 = "Data Source=yourdatasource;Initial Catalog=yourcat;Persist Security Info=True;User ID=" + txtLogin2.Text.Trim() + ";Password=" + txtPW2.Text.Trim() + ";";
try
{
using (var connection = new SqlConnection(cs1))
{
connection.Open();
retVal = true;
}
}
catch (SqlException e2)
{
MessageBox.Show("User 1 Failed " + e2.ToString());
}
try
{
using (var connection = new SqlConnection(cs2))
{
connection.Open();
retVal = true;
}
}
catch (SqlException ex)
{
MessageBox.Show("User 2 Failed "+ex.ToString());
}
if (retVal)
{ MessageBox.Show("Passed"); }
else
{ MessageBox.Show("Please Try"); }
return retVal;
}
}
這樣的事情可以做的伎倆:
private async Task TestUserAuthAsync(){
var task1 = Task.Run(AuthenticateUser("username1", "password1"));
var task2 = Task.Run(AuthenticateUser("username2", "password2"));
await Task.WhenAll(task1, task2);
}
你可以做更多,像迴歸結果日誌...
喜歡的東西Parallel.ForEach也能正常工作。
一個想法是使用TPL,爲每個用戶憑證創建一個任務,並在不同線程中立即運行它們 https://msdn.microsoft.com/en-us/library/system.threading.tasks.task(v = vs.110).aspx – rmjoia
我不知道那是什麼,但我會研究一些:) – Missy
你是否正在尋找這個工作,以在兩個用戶在同一臺機器或遠程到每其他? –