c# - 使用 sql 中的列在登录页面中设置角色
问题描述
所以我正在构建一个名为“登录”的页面,其中已经在数据库中拥有一个帐户的人可以很好地在“主页”中进行登录和输入
我有 2 个不同的卷:-管理员 - 可以创建其他帐户、编辑、删除等...
-普通用户 - 不能创建另一个帐户,它只能读取,不能编辑,删除等...
我在sql中做了一个名为“function”的列,它将角色保持为数字......
1-管理员
2-普通用户
但是我不知道应该如何使用它,我做了这样的事情:
protected void Button1_Click(object sender, EventArgs e)
{
using (SqlConnection sqlcon = new SqlConnection(@"Data Source=PEDRO-PC\SQLEXPRESS;Initial Catalog=costumizado;Integrated Security=True"))
{
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buffer = new byte[1024];
rng.GetBytes(buffer);
string salt = BitConverter.ToString(buffer);
var saltedPassword = TextBox2.Text + salt;
string passstr = Encrypt(TextBox2.Text);
// string Select_Query = "SELECT count (*) FROM Usuarios where(Nome = '" + TextBox1.Text + "' and PalavraPasse ='" + passstr + "');";
// Debug.Write(Select_Query);
sqlcon.Close();
using (sqlcon)
{
SqlCommand command = new SqlCommand("SELECT Nome, PalavraPasse, Funcao FROM Usuarios;", sqlcon);
sqlcon.Open();
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
if (reader.Read())
{
Debug.WriteLine("{0} {1} {2}",
reader["Nome"],
reader["PalavraPasse"],
reader["Funcao"]);
}
if (reader["Funcao"] == "1")
{
Response.Redirect("~/StartupAdmin.aspx");
}
else if (reader["Funcao"] == "2")
{
Response.Redirect("~/StartupNormal.aspx");
}
}
else
{
Debug.WriteLine("No rows found.");
}
reader.Close();
sqlcon.Close();
}
}
}
ps:我知道这样做:
if (count > 0 && function =="1" )
没有意义,因为“功能”甚至不是一个变量,但它或多或少地显示了我想做的输出
No rows found.
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1-1-1 是我为测试创建 jsut 的用户
解决方案
推荐阅读
- c++ - C++ 类中使用引用的循环依赖
- php - PHPmail 附件无法到达 Gmail + 格式错误
- r - 重复测量的逻辑回归模型是什么?
- angular - 如何在选择触发事件上测试组件
- python - 使用python循环从一个数据框在一个excel工作簿中创建多个excel表
- mysql - 如何以ms访问形式将mysql中数据库中的数据或表显示为可编辑?(像列表框一样可编辑)
- flutter - 从图库/相机中取消图像选择器时出现 Image.path 错误
- python - 如何在不添加到 PATH 且在 Windows 10 中没有管理员访问权限的情况下使用 Anaconda?
- python - Keras Python自定义损失函数给出张量(的绝对差)的最大值?
- laravel - Laravel 选择输入未按请求显示