예제 #1
0
        public LocalUser Login(string username = "******", string password = "******")
        {
            Authenticator.AuthStatus status = Authenticator.AuthStatus.UnknownError;
            LocalUser user = null;
            bool      done = false;
            var       auth = new Authenticator((_status, _user) => {
                status = _status;
                user   = _user;
                done   = true;
            });

            auth.login(username, password);
            while (!done)
            {
            }
            Assert.AreEqual(status, Authenticator.AuthStatus.Success);
            Assert.AreNotEqual(user, null);
            Assert.AreEqual(user.Username, username);
            return(user);
        }
예제 #2
0
        public void PrivateKeyTest()
        {
            LocalUser user  = Login();
            bool      done  = false;
            LocalUser user1 = null;

            Authenticator.AuthStatus status = Authenticator.AuthStatus.UnknownError;

            var auth = new Authenticator((_status, _user) => {
                status = _status;
                user1  = _user;
                done   = true;
            });

            auth.login(user.PrivateKey);
            while (!done)
            {
            }
            Assert.AreEqual(status, Authenticator.AuthStatus.Success);
            Assert.AreEqual(user.PrivateKey, user1.PrivateKey);
            Assert.AreEqual(user.Username, user1.Username);
        }
예제 #3
0
        private void loginResultCallBack(Authenticator.AuthStatus status, LocalUser user)
        {
            if (buttonLogin.InvokeRequired) //Turi būti tas pats thread
            {
                buttonLogin.Invoke(new Authenticator.LoginResultDelegate(loginResultCallBack), new object[] { status, user });
            }
            else
            {
                buttonLogin.Enabled = true;
                string message = "";
                switch (status)
                {
                case Authenticator.AuthStatus.UsernameEmpty:
                    message = "Vartotojo vardas negali būti tuščias";
                    break;

                case Authenticator.AuthStatus.PasswordEmpty:
                    message = "Vartotojo slaptažodis negali būti tuščias";
                    break;

                case Authenticator.AuthStatus.FailedToConnect:
                    message = "Nepavyko prisijungti prie serverio";
                    break;

                case Authenticator.AuthStatus.InvalidUsernameOrPassword:
                    message = "Neteisingas vartotojo vardas/slaptažodis";
                    break;

                case Authenticator.AuthStatus.InvalidPrivateKey:     //Prisiminti login
                    message = "Bandykite prisijungti išnaujo";
                    break;

                case Authenticator.AuthStatus.Success:
                    message = "Success";
                    break;

                default:
                    message = "Kažkas nepavyko";
                    break;
                }
                statusLabel.Text = message;
                if ((status == Authenticator.AuthStatus.Success))
                {
                    if (checkBoxRememberLogin.Checked == true)
                    {
                        Properties.Settings.Default.privateKey = user.PrivateKey;
                        Properties.Settings.Default.Save();
                    }
                    else
                    {
                        Properties.Settings.Default.privateKey = "";
                        Properties.Settings.Default.Save();
                    }
                    //Perjungiama į main menu formą
                    MainMenuForm mainForm = new MainMenuForm(user);   //Sukurti pagrindinę formą ir parodyti
                    mainForm.Show();
                    this.Hide();                                      // Hide this one
                    mainForm.FormClosed += (s, args) => this.Close(); //Kai užsidaro pagrindinė forma, uždaryti ir šitą
                }
            }
        }