コード例 #1
0
ファイル: Authorisation.cs プロジェクト: ksobiecki/baUHInia
        private void loginButton_Click(object sender, EventArgs e)
        {
            SHA256 mySHA256 = SHA256.Create();
            String login;
            String passwd;

            login = loginLoginBox.Text;
            if (loginLoginBox.Text.Length == 0)
            {
                MessageBox.Show("Proszę podać login.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (loginPasswordBox.Text.Length == 0)
            {
                MessageBox.Show("Wprowadzono puste hasło.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            passwd = ComputeSha256Hash(loginPasswordBox.Text);
            Console.WriteLine(login);
            Console.WriteLine(passwd);
            var resultcheck = bazaDanych.CheckUser(login, passwd);

            if (resultcheck.Item1 == 32)
            {
                var result = MessageBox.Show("Pomyślnie zalogowano.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (result == DialogResult.OK)
                {
                    if (rememberMeChkbx.Checked)
                    {
                        Properties.Settings.Default.login    = loginLoginBox.Text;
                        Properties.Settings.Default.password = loginPasswordBox.Text;
                        Properties.Settings.Default.Save();
                    }
                    else
                    {
                        Properties.Settings.Default.login    = "";
                        Properties.Settings.Default.password = "";
                        Properties.Settings.Default.Save();
                    }
                    LoginData ld = LoginData.GetInstance();
                    ld.UserID    = resultcheck.Item2;
                    ld.isAdmin   = true;
                    ld.name      = login;
                    ld.hash      = passwd;
                    isMapVisible = true;
                    AdminGameWindow app = new AdminGameWindow(ld);
                    ElementHost.EnableModelessKeyboardInterop(app);
                    app.Show();
                    Close();
                }
            }
            else if (resultcheck.Item1 == 31)
            {
                var result = MessageBox.Show("Pomyślnie zalogowano.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (result == DialogResult.OK)
                {
                    if (rememberMeChkbx.Checked)
                    {
                        Properties.Settings.Default.login    = loginLoginBox.Text;
                        Properties.Settings.Default.password = loginPasswordBox.Text;
                        Properties.Settings.Default.Save();
                    }
                    else
                    {
                        Properties.Settings.Default.login    = "";
                        Properties.Settings.Default.password = "";
                        Properties.Settings.Default.Save();
                    }
                    LoginData ld = LoginData.GetInstance();
                    ld.UserID    = resultcheck.Item2;
                    ld.isAdmin   = false;
                    ld.name      = login;
                    ld.hash      = passwd;
                    isMapVisible = true;
                    UserGameWindow app = new UserGameWindow(ld);
                    ElementHost.EnableModelessKeyboardInterop(app);
                    app.Show();
                    Close();
                }
            }
            else if (resultcheck.Item1 == 102)
            {
                MessageBox.Show("Błąd pobierania danych użytkowników", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                loginLoginBox.Text    = "";
                loginPasswordBox.Text = "";
                return;
            }
            else if (resultcheck.Item1 == 103)
            {
                MessageBox.Show("Błąd połączenia", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                loginLoginBox.Text    = "";
                loginPasswordBox.Text = "";
                return;
            }
            else if (resultcheck.Item1 == 50)
            {
                MessageBox.Show("Błędne dane autoryzacyjne.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                loginLoginBox.Text    = "";
                loginPasswordBox.Text = "";
                return;
            }
            else
            {
                MessageBox.Show("Nieznany błąd", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                loginLoginBox.Text    = "";
                loginPasswordBox.Text = "";
                return;
            }
        }
コード例 #2
0
ファイル: Authorisation.cs プロジェクト: ksobiecki/baUHInia
        private void registerButton_Click(object sender, EventArgs e)
        {
            SHA256 mySHA256 = SHA256.Create();
            String login;
            String passwd;
            String passwd2;

            login   = registerLoginBox.Text;
            passwd  = registerPasswordBox.Text;
            passwd2 = registerSecondPasswordBox.Text;
            //czy w ogóle coś wpisali:
            if (registerLoginBox.Text.Length == 0)
            {
                MessageBox.Show("Proszę podać login.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (registerLoginBox.Text.Length < 5)
            {
                MessageBox.Show("Login musi posiadać co najmniej 5 znaków.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (registerPasswordBox.Text.Length == 0)
            {
                MessageBox.Show("Wprowadzono puste hasło.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //czy takie samo:
            if (passwd != passwd2)
            {
                MessageBox.Show("Wprowadzone hasła nie są takie same.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                registerLoginBox.Text          = "";
                registerPasswordBox.Text       = "";
                registerSecondPasswordBox.Text = "";
                return;
            }
            //czy ma cyfre:
            if ((!passwd.Any(c => char.IsDigit(c))) || (!passwd.Any(c => char.IsLower(c))) || (!passwd.Any(c => char.IsUpper(c))) || (passwd.Any(c => char.IsWhiteSpace(c))) || (passwd.Length < 8))
            {
                MessageBox.Show("Wprowadzone hasło:\n1. Musi zawierać co najmniej jedną cyfrę\n2. Musi zawierać co najmniej jedną wielką literę\n3. Musi zawierać co najmniej jedną małą literę\n4. Musi zawierać co najmniej 8 znaków\n5. Nie może zawierać spacji.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                registerPasswordBox.Text       = "";
                registerSecondPasswordBox.Text = "";
                return;
            }

            passwd = ComputeSha256Hash(registerPasswordBox.Text);
            Console.WriteLine(login);
            Console.WriteLine(passwd);
            Boolean Admin = false;

            if (isAdmin.Checked)
            {
                Admin = true;
            }
            ShowAddQuestionDialog();
            if (this.pytanie == "")
            {
                MessageBox.Show("Pytanie nie może być puste.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (this.odpowiedz == "")
            {
                MessageBox.Show("Odpowiedź nie może być pusta.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            int resultadding = bazaDanych.DodajUzytkownika(login, passwd, Admin, pytanie, odpowiedz);

            if (resultadding == 0)
            {
                var result = MessageBox.Show("Pomyślnie utworzono konto.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    LoginData ld = LoginData.GetInstance();
                    ld.UserID    = 0;
                    ld.isAdmin   = Admin;
                    ld.name      = login;
                    ld.hash      = passwd;
                    isMapVisible = true;
                    this.Hide();
                    if (ld.isAdmin)
                    {
                        AdminGameWindow app = new AdminGameWindow(ld);
                        app.Show();
                        this.Close();
                    }
                    else
                    {
                        UserGameWindow app = new UserGameWindow(ld);
                        app.Show();
                        this.Close();
                    }
                }
            }
            else if (resultadding == 33)
            {
                MessageBox.Show("Użytkownik z wybranym loginem już istnieje w systemie.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                registerLoginBox.Text          = "";
                registerPasswordBox.Text       = "";
                registerSecondPasswordBox.Text = "";
                return;
            }
            else
            {
                MessageBox.Show("Błąd dodania użytkownika", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
                registerLoginBox.Text          = "";
                registerPasswordBox.Text       = "";
                registerSecondPasswordBox.Text = "";
                return;
            }
        }