【发布时间】:2023-03-28 15:00:01
【问题描述】:
由于我可以根据登录的用户自动创建按钮,例如管理员用户是管理员类型并且拥有所有权限,那么在表单中登录时的管理员用户应该生成按钮等权限,如何完成了吗?
我的登录密码:
private void button1_Click(object sender, EventArgs e)
{
if (txtUser.Text == "" || txtContrasenna.Text == "")
{
MessageBox.Show("Please provide UserName and Password");
return;
}
try
{
//Create SqlConnection
SqlConnection con = new SqlConnection(cs);
SqlCommand cmd = new SqlCommand("Select * from Users where NameUser=@nameuser and Password=@password", con);
cmd.Parameters.AddWithValue("@nameuser", txtUser.Text);
cmd.Parameters.AddWithValue("@password", txtContrasenna.Text);
con.Open();
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
DataTable ds = new DataTable();
adapt.Fill(ds);
con.Close();
// int count = ds.Tables[0].Rows.Count;
//If count is equal to 1, than show frmMain form
if (ds.Rows.Count == 1)
{
switch (ds.Rows[0]["UserTypeId"] as int?)
{
case 1:
{
this.Hide();
Menus.MenuSuperUser ss = new Menus.MenuSuperUser();
ss.Show();
// MessageBox.Show("MAMALON");
break;
}
case 2:
{
this.Hide();
PantallasUsers.DashboardVendedor ss = new PantallasUsers.DashboardVendedor();
ss.Show();
break;
}
default:
{
MessageBox.Show("NOTBABY");
break;
}
}
}
else
{
MessageBox.Show("Algo esta mal, revisa tus datos.");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
【问题讨论】:
-
为什么不添加控件,默认隐藏,然后根据用户角色使其可见?
-
@Xaqron 因为可以为每个用户角色添加多个权限,所以每个权限都是一个按钮
-
您可以尝试在您的winform中放置
statusStrip,然后添加一个状态标签,定义每个用户的角色,然后慢慢定义每个权限。 -
@P.Pat 如何让用户保持登录状态?
-
你能根据用户的角色分享 UI 应该是什么样子吗?以及哪些部分的 UI 可以根据权限进行更改?
标签: c# sql winforms windows-forms-designer