private void Save()
        {
            try
            {
                if (!ValidateControls(false))
                {
                    return;
                }

                var login = LoginDB.LoadLogin(sUserId, string.Empty);
                if (login == null)
                {
                    throw new Exception("Utente non riconosciuto.");
                }

                LoginDB.SaveLogin(login.KEY_LOG, txtPassword.Text, null);

                MessageBox.Show("La password è stata correttamente aggiornata.", "Reset Password", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                recoveryPassword = true;
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Non è stato possibile aggiornare la password: " + ex.Message);
            }
        }
        private bool ValidateControls(bool onlyCode)
        {
            bool res = true;

            errorProvider1.Clear();
            if (string.IsNullOrEmpty(txtCode.Text))
            {
                errorProvider1.SetError(txtCode, "Inserire il codice ricevuto via mail.");
                txtCode.Focus();
                res = false;
            }
            if (sCode != txtCode.Text)
            {
                errorProvider1.SetError(txtCode, "Il codice inserito non è valido.");
                txtCode.Focus();
                res = false;
            }
            if (onlyCode)
            {
                return(res);
            }
            if (string.IsNullOrEmpty(txtPassword.Text))
            {
                errorProvider1.SetError(txtPassword, "Inserire una password valida.");
                txtPassword.Focus();
                res = false;
            }
            if (string.IsNullOrEmpty(txtConfirmPass.Text))
            {
                errorProvider1.SetError(txtConfirmPass, "Confermare la password.");
                txtConfirmPass.Focus();
                res = false;
            }
            if (txtPassword.Text != txtConfirmPass.Text)
            {
                errorProvider1.SetError(txtConfirmPass, "Le due password non coincidono.");
                txtConfirmPass.Focus();
                res = false;
            }
            var txtPass = LoginDB.LoadLogin(sUserId, null).PASSWORD_ID;

            if (txtPass == LoginDB.ToSha256(txtPassword.Text))
            {
                errorProvider1.SetError(txtPassword, "Inserire una password differente rispetto all'ultima.");
                txtPassword.Focus();
                res = false;
            }
            if (!IsCorrectPassword(txtPassword.Text))
            {
                errorProvider1.SetError(txtPassword, "Violazione delle regole. La password deve contenere: una lettera maiuscola, una minuscola, un numero, un carattere speciale.");
                txtPassword.Focus();
                return(false);
            }
            return(res);
        }
Пример #3
0
        private bool ValidateControls()
        {
            errorProvider1.Clear();
            if (string.IsNullOrEmpty(txtUserID.Text))
            {
                errorProvider1.SetError(txtUserID, "Inserire un user Id valido.");
                txtUserID.Focus();
                return(false);
            }
            var login = LoginDB.LoadLogin(txtUserID.Text, string.Empty);

            if (login.KEY_LOG.HasValue)
            {
                errorProvider1.SetError(txtUserID, "Esiste già un accounto con lo stesso user ID.");
                txtUserID.Focus();
                return(false);
            }
            if (string.IsNullOrEmpty(txtName.Text))
            {
                errorProvider1.SetError(txtName, "Inserire il nome.");
                txtName.Focus();
                return(false);
            }
            if (string.IsNullOrEmpty(txtSurname.Text))
            {
                errorProvider1.SetError(txtSurname, "Inserire il cognome.");
                txtSurname.Focus();
                return(false);
            }
            if (string.IsNullOrEmpty(txtPassword.Text))
            {
                errorProvider1.SetError(txtPassword, "Inserire la password.");
                txtPassword.Focus();
                return(false);
            }
            if (string.IsNullOrEmpty(txtConfirmPass.Text))
            {
                errorProvider1.SetError(txtConfirmPass, "Confermare la password.");
                txtConfirmPass.Focus();
                return(false);
            }
            if (txtPassword.Text != txtConfirmPass.Text)
            {
                errorProvider1.SetError(txtConfirmPass, "Le due password non coincidono.");
                txtConfirmPass.Focus();
                return(false);
            }
            return(true);
        }
Пример #4
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (!ValidateControls(false))
            {
                return;
            }

            try
            {
                var login = LoginDB.LoadLogin(txtUserID.Text, LoginDB.ToSha256(txtPassword.Text));

                if (login == null)
                {
                    throw new Exception("anagrafica utenza non correttamente popolata. Contattare l'assistenza !");
                }

                if (!login.KEY_LOG.HasValue)
                {
                    MessageBox.Show("Errore: utenza non presente " + txtUserID.Text + " o password errata !", "Login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                if (IsFirstAccess(login.X_FIRST_LOG))
                {
                    if (DialogResult.No == MessageBox.Show("Primo accesso: è necessario procedere con la procedura di reset della password." + Environment.NewLine + " Vuoi continuare ?", "Primo accesso", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        return;
                    }
                    if (!GetForgotPassword())
                    {
                        return;
                    }
                    LoginDB.SaveLogin(login.KEY_LOG, null, null);
                }

                if (DateTime.Now > login.DATE_EXPIRED)
                {
                    if (DialogResult.No == MessageBox.Show("Password scaduta: è necessario procedere con la procedura di reset della password." + Environment.NewLine + " Vuoi continuare ?", "Primo accesso", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        return;
                    }
                    if (!GetForgotPassword())
                    {
                        return;
                    }
                }

                LoginDB.SaveLoginAccess(login.KEY_LOG);

                FormManagement frm = new FormManagement(login);
                frm.ShowDialog();

                //if (!string.IsNullOrEmpty(login.X_ADMIN))
                //{
                //    if (DialogResult.Yes == MessageBox.Show("E' possibile creare un nuovo account." + Environment.NewLine + "Premendo il bottone SI verrai reindirizzato alla maschera per le creazione di un nuovo account, diversamente alla griglia per la gestione degli ospiti. Vuoi continuare ?", "Creazione account", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                //    {
                //        FormAccount formAccount = new FormAccount();
                //        formAccount.ShowDialog();
                //        return;
                //    }
                //}

                //FormPrivacy frmPrivacy = new FormPrivacy(login.X_TEMPLATE);
                //frm.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Errore! Attenzione: " + ex.Message, "Configurazione errata", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
        }