C # - роль входа (разрешения) вернуться к пользователю по умолчанию - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь ввести имя пользователя в моей библиотеке приложения на основе пользователя.

Я уже выполнил приведенный ниже код, но что-то отсутствует / неверно.

Имейте в виду, что администратор должен иметь все разрешения в приложении.

  • Я вхожу как администратор (имя администратора - 'jHarrington')
  • Разрешения меню показывают правильно
  • После навигации по подменю и возврата к главному меню, я выгляжу так, как будто я (пользователь-администратор) теряю разрешения (в частности, разрешение в меню пользователя), т.е. я получаю те же разрешения, что и обычный пользователь (у которого есть имя пользователя) 'pDinklage'), где пользовательское меню отключено (выделено серым цветом)

Помощь будет принята с благодарностью.

Заранее спасибо.

PS. Я знаю о проблеме SQL-инъекций, я разберусь с этим.

Форма входа:

 private void btnOk_Click(object sender, EventArgs e)
    {
        //Database Connection Setup
        SqlConnection Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename = C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\Library System Project.mdf;Integrated Security=True;Connect Timeout=30;");
        string query = "Select User_Username from Users where User_Username = '" + txtUsername.Text.Trim() + "' and User_Password = '" + txtPassword.Text.Trim() + "'";
        SqlDataAdapter SDA = new SqlDataAdapter(query, Connection);
        DataTable DT = new DataTable();
        SDA.Fill(DT);

        // Access to Main Menu for Authorized Users
        if (DT.Rows.Count == 1)
        {
            MainMenuForm MainMenu = new MainMenuForm();
            MainMenu.SetRole(DT.Rows[0][0].ToString());
            MainMenu.Show();
            this.Hide();
        }

        // Show Message Box of incorrect credentials submitted
        else
        {
            MessageBox.Show("Invalid login credentials. Please try again.");
        }
    }

Форма главного меню:

public partial class MainMenuForm : Form
{
    public MainMenuForm()
    {
        InitializeComponent();
    }

    public void SetRole(string Role)
    {
        lblRole.Text = Role;
    }

    private void MainMenuForm_Load(object sender, EventArgs e)
    {
        if (((Form)this).Controls["lblRole"].Text == "jHarrington")
        {
           btnUserMenu.Enabled = true;
        }
    }
...