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的值并将其存储在默认设置中,并在任何需要的地方使用它。 –
恐怕我还在学习。我将尝试在登录时取消安全值而不是主窗体,并将其显示在用户名旁边的状态栏上,然后对其进行调整。但我想我一直在考虑从特定用户的数据库中检索该信息所需的代码。我可以改变登录按钮代码来拉这个值吗?并将其设置为默认设置? –
是的...你可以做到这一点。 –