Установка ролей на странице входа в систему с помощью столбца в SQL - PullRequest
0 голосов
/ 16 мая 2019

Таким образом, я создаю страницу с именем «Логин», где человек с одной учетной записью, уже находящейся в базе данных, вполне может выполнить вход и войти в «главную страницу»

У меня есть 2 разных ролла: -Admin- Может создавать другие учетные записи, редактировать, удалять и т. Д. *

- Обычный пользователь - Не может создавать другие учетные записи, он просто позволяет читать, а не редактировать, удалять и т. Д ...

Я сделал столбец в sql со следующим именем «функция», где он хранит роли как числа ...

1-admin

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();
        }
    }
}

пс: я знаю, что делать это:

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 для теста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...