Ejemplo n.º 1
0
 void LoginAnswer(Messenger messenger, string key, LoginAnswer answer)
 {
     if (answer.accepted)
     {
         if (IsLoggedIn(answer.name))
         {
             answer.accepted = false;
             _confirmMessenger.Send(answer.confirmID.ToString(), answer);
         }
         else
         {
             lock (_lock)
             {
                 PacketStream stream = _confirmMessenger.Unregister(answer.confirmID.ToString());
                 AddClient(answer.name, stream);
             }
             _worldByUser.Add(answer.name, answer.world);
             _messenger.Send(answer.name, answer);
         }
     }
     else
     {
         _confirmMessenger.Send(answer.confirmID.ToString(), answer);
     }
 }
Ejemplo n.º 2
0
 void LoginAnswer(Messenger messenger, string key, LoginAnswer query)
 {
     if (query.accepted)
     {
         var keys = (ICollection <string>)_server._clientMessenger.Keys;
         if (keys.Contains(query.name))
         {
             query.accepted = false;
             _server._confirmMessenger.Send(query.confirmID.ToString(), query);
         }
         else
         {
             lock (_server._lock)
             {
                 PacketStream stream = _server._confirmMessenger.Unregister(query.confirmID.ToString());
                 _server._clientMessenger.Register(query.name, stream);
             }
             _server._clientMessenger.Send(query.name, query);
             //_server._messenger.Send(query.world, new PlayerJoin());
         }
     }
     else
     {
         _server._confirmMessenger.Send(query.confirmID.ToString(), query);
     }
 }
Ejemplo n.º 3
0
        public LoginAnswer Login(string login, string password)
        {
            LoginAnswer Result = new LoginAnswer();
            string      answer = Checker.CheckLog(login, password);

            Result.account = null;
            Result.result  = answer;
            if (answer == null)
            {
                {
                    var user = _authModel.Auth(login, password);
                    if (user.Result != null)
                    {
                        Result.account = _authModel.ReadAccount(login).Result;
                        Result.result  = "Авторизация прошла успешно!";
                    }
                    else
                    {
                        Result.account = null;
                        Result.result  = "Логин или пароль неверны!";
                    }
                }
            }
            return(Result);
        }
Ejemplo n.º 4
0
        private void GotFullChunks(MessageType messageType, List <byte[]> receivedChunks)
        {
            //1. Server send Login Verify
            //2. Server send groups
            //3. Server send test for specified group
            switch (messageType)
            {
            case MessageType.ServerLoginVerify:
            {
                var val = receivedChunks.CombineChunksInto <int>();
                LoginAnswer?.Invoke(val);
                break;
            }

            case MessageType.ServerSendGroups:
            {
                var val = receivedChunks.CombineChunksInto <Group[]>();
                GotGroups?.Invoke(val);
                break;
            }

            case MessageType.ServerSendTest:
            {
                var val = receivedChunks.CombineChunksInto <Test[]>();
                GotTests?.Invoke(val);
                break;
            }
            }
            receivedChunks.Clear();
            // messageType = null;
        }
Ejemplo n.º 5
0
    void LoginAnswer(Messenger messenger, string key, LoginAnswer answer)
    {
        //If failed, Show Failed Message.
        if (answer.accepted)
        {
            SceneManager.LoadScene(answer.world);

            userName = answer.name;

            var net = FindObjectOfType <Client>();
            lock (_locker)
                net.stream = messenger.Unregister("Proxy");
            userName           = answer.name;
            net.signallersByID = signallersByID;
            net.enabled        = true;
        }
    }
Ejemplo n.º 6
0
        private void BtnLogin_Click(object sender, EventArgs e)
        {
            if (TxtUser.Text != "user")
            {
                if (TxtPassword.Text != "password")
                {
                    Administrator administrator = new Administrator(TxtUser.Text, TxtPassword.Text);
                    LoginAnswer   answer        = administratorService.Login(administrator);

                    if (answer.Error == false)
                    {
                        if (answer.ValidData)
                        {
                            PrincipalFrm principalFrm = new PrincipalFrm();
                            principalFrm.Show();
                            this.Hide();
                        }
                        else
                        {
                            answer.Message = "Usuario y/o Contraseña incorrecta. intente de nuevo!";
                            MessageError(answer.Message);
                            TxtPassword.Clear();
                            TxtPassword.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show(answer.Message);
                    }
                }
                else
                {
                    MessageError("Por favor digite su CONTRASEÑA");
                }
            }
            else
            {
                MessageError("Por favor digite su USUARIO");
            }
        }
Ejemplo n.º 7
0
        public LoginAnswer UpdateAvatar(Account User, IFormFile Avatar)
        {
            LoginAnswer Res = new LoginAnswer();

            Res.account = User;
            byte[] jpegMagic = new byte[] { 255, 216, 255, 224 };
            if (Avatar == null)
            {
                Res.result = "Файл не выбран!";
            }
            else
            {
                var    fileStream = Avatar.OpenReadStream();
                byte[] bytes      = new byte[4];
                fileStream.Read(bytes, 0, 4);
                if (Avatar.Length > 52428800)
                {
                    Res.result = "Файл слишком большой!";
                }
                else if (Avatar.ContentType != "image/jpeg")
                {
                    Res.result = "Файл не является jpg!";
                }
                else if (jpegMagic.SequenceEqual(bytes) == false)
                {
                    Res.result = "Файл поврежден!";
                }
                else
                {
                    Res.result = "Аватар успешно обновлен!";
                    UploadFile(Avatar);
                    Account UpdateAccount = new Account();
                    UpdateAccount        = _authModel.ReadAccount(User.login).Result; // SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. и NullReferenceException: Object reference not set to an instance of an object.
                    Res.account.Avatar   = "/avatars/" + Avatar.FileName;
                    UpdateAccount.Avatar = "/avatars/" + Avatar.FileName;
                    _authModel.UpdateAccount(UpdateAccount);
                }
            }
            return(Res);
        }
Ejemplo n.º 8
0
        public LoginAnswer ChangePassword(Account User, string password, string newpassword, string newconfirm)
        {
            LoginAnswer Res    = new LoginAnswer();
            bool        Result = BCrypt.Net.BCrypt.Verify(password, User.password);

            if (Result)
            {
                if ((newpassword == newconfirm) && (newpassword.Length >= 6))
                {
                    Profile UpdateProfile = new Profile();
                    UpdateProfile          = _authModel.Read(User.login).Result; // SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. и NullReferenceException: Object reference not set to an instance of an object.
                    UpdateProfile.password = BCrypt.Net.BCrypt.HashPassword(newpassword);
                    Account UpdateAccount = new Account();
                    UpdateAccount          = _authModel.ReadAccount(User.login).Result;
                    UpdateAccount.password = BCrypt.Net.BCrypt.HashPassword(newpassword);
                    _authModel.Update(UpdateProfile);
                    _authModel.UpdateAccount(UpdateAccount);
                    Res.result = "Пароль успешно обновлён!";
                }
                else
                {
                    if (newpassword.Length < 6)
                    {
                        Res.result = "Пароль должен быть минимум 6 символов!";
                    }
                    else
                    {
                        Res.result = "Пароли не совпадают!";
                    }
                }
            }
            else
            {
                Res.result = "Неверный пароль!";
            }
            Res.account = User;
            return(Res);
        }
Ejemplo n.º 9
0
 void LoginAnswer(Messenger messenger, string key, LoginAnswer query)
 {
     messenger.Send("Proxy", query);
 }