PRE 我使用的SQLExpress來存儲信息。如何檢查當前登錄的用戶安全級別,以便禁用功能?
我有我的應用程序一個非常基本的用戶設置。我有一個登錄表,只包含三個字段,分別是用戶名,密碼和安全級別。只有三個安全級別;高,中,低。
在我的登錄表單,我有下面的代碼保存被登錄到Settings.Default[]
用戶,所以我以後可以讀取它。
private void Loginbtn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=MySupportHub;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter(@"SELECT * FROM [dbo].[Login] Where Username='" + usernameTextBox.Text + "' and Password='" + passwordTextBox.Text + "'", con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 1)
{
Settings.Default["CurrentUserName"] = usernameTextBox.Text;
Settings.Default.Save();
this.Hide();
Home home = new Home();
home.Show();
}
else
{
MessageBox.Show("Invalid Username and/or Password..!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Clearbtn_Click(sender, e);
}
}
然後在主頁上,我有以下代碼來獲取值並在底部狀態欄中顯示當前登錄用戶。在頁面加載。
//Identify and display current logged in user
CurrentUser.Caption = Settings.Default["CurrentUserName"].ToString();
我想做些什麼現在能夠做的是檢查用戶的安全級別進行記錄(用戶價值將主窗體保存在這裏「CurrentUser.Caption
」)目前並能夠禁用像創建一個功能新用戶等
因此,我需要能夠讀取CurrentUser.Caption
值,檢查對(SQL Express)[dbo]。[登錄]表,並根據結果查找用戶的安全級別和限制功能。
任何幫助,將不勝感激。
感謝
菲爾
你知道如何從數據表'dt'檢索值嗎?如果是,那麼您應該從表中檢索SecurityLevel的值並將其存儲在默認設置中,並在任何需要的地方使用它。 –
恐怕我還在學習。我將嘗試在登錄時取消安全值而不是主窗體,並將其顯示在用戶名旁邊的狀態欄上,然後對其進行調整。但我想我一直在考慮從特定用戶的數據庫中檢索該信息所需的代碼。我可以改變登錄按鈕代碼來拉這個值嗎?並將其設置爲默認設置? –
是的...你可以做到這一點。 –