public void OnConfirmButtonPressed() { if (_newPassword.text.Length > 8) { string currentPassword = UserController.GetPassword(_user.Id), oldPassword = SHA256Encoder.GetStringHash(_oldPassword.text), newPassword = SHA256Encoder.GetStringHash(_newPassword.text), confirmPassword = SHA256Encoder.GetStringHash(_confirmPassword.text); _messageText.text = ""; if (currentPassword != oldPassword && !_isCurrentUserAdmin) { _messageText.text = "Старый пароль не верен"; } else { if (newPassword != confirmPassword && !_isCurrentUserAdmin) { _messageText.text = "Новые пароли не совпадают"; } else if (UserController.UpdateUserPassword(_user.Id, newPassword)) { SceneManager.LoadScene("UserEdit"); } } } else { _messageText.text = "Пароль должен быть более 8 символов"; } _oldPassword.text = _newPassword.text = _confirmPassword.text = ""; }
private bool CheckCredentials() { _messageText.text = ""; var user = UserController.GetUser(_loginText.text); bool loginCondition = user != null && !UserController.IsUserDeleted(user.Id), passwordCondition = loginCondition && SHA256Encoder.GetStringHash(_passwordText.text).ToUpper() == UserController.GetPassword(user.Id); if (!loginCondition) { _messageText.text = "Такого пользователя не существует"; } else if (!passwordCondition) { _messageText.text = "Неверный пароль"; } else { _sessionUserId = user.Id; } return(loginCondition && passwordCondition); }
public void OnConfirmButtonPressed() { _messageText.text = ""; _login.text = _login.text.ToLower(); _email.text = _email.text.ToLower(); _phone.text = _phone.text.ToLower(); Regex loginRegex = new Regex(@"[a-z0-9_-]{5,15}"), emailRegex = new Regex(@"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])"), phoneRegex = new Regex(@"((8|\+7)-?)?\(?\d{3}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}"); bool lastNameCondition = false, passwordCondition = false, loginCondition = false, emailCondition = false, phoneCondition = false; if (_lastName.text == "") { _messageText.text = "Поле \"Фамилия\" должно быть заполнено" + Environment.NewLine; } else { lastNameCondition = true; } if (_password.text.Length <= 8) { _messageText.text = "Пароль должен быть более 8 символов" + Environment.NewLine; } else { passwordCondition = true; } if (_login.text == "") { _messageText.text += "Поле \"Логин\" должно быть заполнено" + Environment.NewLine; } else if (loginRegex.Match(_login.text).Length != _login.text.Length) { _messageText.text += "Недопустимый логин" + Environment.NewLine; } else if (UserController.GetUser(_login.text) == null) { loginCondition = true; } else { _messageText.text += "Такой логин уже используется" + Environment.NewLine; } if (_email.text != "" && emailRegex.Match(_email.text).Length != _email.text.Length) { _messageText.text += "Недопустимый адрес эл.почты" + Environment.NewLine; } else if (_email.text == "" || UserController.GetUser(_email.text) == null) { emailCondition = true; } else { _messageText.text += "Такой адрес эл.почты уже используется" + Environment.NewLine; } if (_phone.text != "" && phoneRegex.Match(_phone.text).Length != _phone.text.Length) { _messageText.text += "Недопустимый номер телефона" + Environment.NewLine; } else if (_phone.text == "" || UserController.GetUser(_phone.text) == null) { phoneCondition = true; } else { _messageText.text += "Такой номер телефона уже используется" + Environment.NewLine; } if (lastNameCondition && passwordCondition && loginCondition && emailCondition && phoneCondition) { var user = new UserDTO { FirstName = _firstName.text == "" ? null : _firstName.text, MiddleName = _middleName.text == "" ? null : _middleName.text, LastName = _lastName.text, Email = _email.text == "" ? null : _email.text, Phone = _phone.text == "" ? null : _phone.text, Login = _login.text, Id = Guid.NewGuid().ToString().Replace('{', '\0').Replace('}', '\0') }; if (UserController.AddUser(user, SHA256Encoder.GetStringHash(_password.text))) { foreach (var roleCode in _addRoles) { RoleController.AddUserRole(user.Id, roleCode); } } SceneManager.LoadScene("UsersList"); } }