/// <summary> /// Vérifie la validité des informations entrées dans les champs de saisie. /// </summary> /// <returns>true si les informations sont valides, false sinon.</returns> protected override bool ChampsValides() { string passHashed = Hashage.Encrypter(textBoxPassword.Text, null, HashType.Sha256); labelErreur.Visible = false; if (TextBoxRemarques.Text == "") { labelErreur.Text = "Erreur - Le champ de remarques de peut être vide."; labelErreur.Visible = true; return(false); } if (LoggedUser.compte == null) { labelErreur.Text = "Erreur - Vous devez être connecté pour effectuer cette action."; labelErreur.Visible = true; return(false); } if (LoggedUser.compte.Grade != Grade.Détective) { labelErreur.Text = "Erreur - Seul un détective peut effectuer cette action."; labelErreur.Visible = true; return(false); } if (!Hashage.HashValide(textBoxPassword.Text, LoggedUser.compte.HashPass, HashType.Sha256)) { labelErreur.Text = "Erreur - Le mot de passe saisi ne correspond pas au matricule."; labelErreur.Visible = true; return(false); } m_rapportEnquete = new RapportEnquete(TextBoxRemarques.Text, LoggedUser.compte); if (m_typeSaisie == TypeDeSaisie.Suppression) { return(MB.ConfirmerOuiNon("Voulez-vous vraiment supprimer définitivement ce rapport d'enquête?")); } else if (m_typeSaisie == TypeDeSaisie.Modification) { return(MB.ConfirmerOuiNon("Voulez-vous vraiment rendre ces modifications permanentes?")); } else { return(true); } }
protected override bool ChampsValides() { StringNonVide(textBoxPassword, "mot de passe actuel"); if (!Hashage.HashValide(textBoxPassword.Text, LoggedUser.compte.HashPass, HashType.Sha256)) { MB.Avertir("Mot de passe actuel est invalide"); return(false); } if (!textBoxNewPassword.Text.Equals(textBoxNewPassword2.Text)) { MB.Avertir("Les champs nouveau mot de passe ne correspondent pas"); return(false); } string mdpHash = Hashage.Encrypter(textBoxNewPassword.Text); LoggedUser.compte.ModifierPasse(mdpHash); return(RequetesSQL.UpdateCompte(LoggedUser.compte)); }
/// <summary> /// Envoyer un message pour reset le mot de passe /// </summary> /// <param name="p_recipient">email de l'utilisateur</param> /// <param name="p_hashPasse">hash passe a conserver dans la base des données</param> /// <returns></returns> public static bool sendResetMessage(string p_recipient, out string p_hashPasse) { p_hashPasse = ""; if (!IsValidEmail(p_recipient)) { return(false); } // SMTP server (par google) MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); Random rd = new Random(Guid.NewGuid().GetHashCode()); p_hashPasse = Base64Encode(Guid.NewGuid().GetHashCode().ToString()); // passe provisoire généré automatiquement SmtpServer.Port = 587; string secret = Base64Decode("VWt4TmNteHRJeU14"); // Mot de passe pour se connecter à google SmtpServer.Credentials = new System.Net.NetworkCredential("youniversion", Base64Decode(secret) + "00"); SmtpServer.EnableSsl = true; // Message mail.From = new MailAddress("*****@*****.**"); mail.To.Add(p_recipient); mail.Subject = "reinitialiser le mot de passe"; mail.Body = "Utilisez ce mot de passe pour reinitialiser votre mot de passe : \n" + p_hashPasse; try { // Set the method that is called back when the send operation ends. SmtpServer.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback); string userState = "test message1"; SmtpServer.SendAsync(mail, userState); p_hashPasse = Hashage.Encrypter(p_hashPasse); } catch (Exception ex) { SmtpServer.Dispose(); return(false); } return(true); }
protected override bool ChampsValides() { // Valider les champs string nom = StringNonVide(textBoxNom, "Nom"); string prenom = StringNonVide(textBoxPrenom, "Prénom"); DateTime naissance = dateTimePickerNaissance.Value; if (naissance.Year < DateTime.Today.Year - AGE_MAX_COMPTE || naissance.Year > DateTime.Today.Year - AGE_MIN_COMPTE) { MB.Avertir("L\'age de l\'utilisateur est invalide."); ActiveControl = dateTimePickerNaissance; return(false); } // Adresse string rue = StringNonVide(textBoxAdresse, "Adresse"); string ville = StringNonVide(textBoxVille, "Ville"); string etat = StringNonVide(textBoxEtat, "Etat"); string codePostal = StringNonVide(textBoxCodePostal, "Zip"); Adresse adresse = new Adresse(rue, ville, etat, codePostal); // Contact string tel = StringNonVide(textBoxTelephone, "Telephone"); if (!Utilitaires.IsValidePhone(textBoxTelephone.Text)) { MB.Avertir("Telephone invalide."); return(false); } string email = StringNonVide(textBoxEmail, "Email"); if (!Utilitaires.IsValidEmail(textBoxEmail.Text)) { MB.Avertir("Email invalide."); return(false); } // Grade, matricule Grade grade; if (Enum.IsDefined(typeof(Grade), comboBoxGrade.SelectedIndex)) { grade = (Grade)comboBoxGrade.SelectedIndex; } else { MB.Avertir("Le Grade assigné est invalide."); ActiveControl = comboBoxGrade; return(false); } int matricule = Int32AvecMinimum(textBoxMatricule, 1, "Matricule"); // Password string mdpHash; if (checkBoxEnableEditPass.Checked || typeSaisie == TypeDeSaisie.Ajout) { StringNonVide(textBoxPassword, "mot de passe"); if (!textBoxPassword.Text.Equals(textBoxPassword2.Text)) { MB.Avertir("Les champs mot de passe ne correspondent pas"); return(false); } mdpHash = Hashage.Encrypter(textBoxPassword.Text); } else { mdpHash = compte.HashPass; // ne pas changer le mot de passe, si le champs n'est pas modifé } // Finir la validation return(FinirValidation(prenom, nom, matricule, naissance, adresse, tel, email, grade, mdpHash)); }