首页 > 解决方案 > 使用 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#asp.netsql-server

解决方案


推荐阅读