public ActionResult Controle() { try { // on récupère les données du formulaire String login = Request["login"]; String mdp = Request["pwd"]; try { ServiceUtilisateur unService = new ServiceUtilisateur(); Utilisateur unUtilisateur = unService.getUtilisateur(login); if (unUtilisateur != null) { try { String sel = unUtilisateur.Salt; // on récupère le sel Byte[] salt = MonMotPassHash.transformeEnBytes(unUtilisateur.Salt); // on génère le mot de passe Byte[] tempo = MonMotPassHash.PasswordHashe(mdp, salt); if (MonMotPassHash.VerifyPassword(salt, mdp, tempo)) { Session["id"] = unUtilisateur.NumUtil; Session["role"] = unUtilisateur.Role; Session["Prenom"] = unUtilisateur.PrenomUtil; } else { ModelState.AddModelError("Erreur", "Erreur lors du contrôle du mot de passe pour : " + login); return(RedirectToAction("Index", "Connexion")); } } catch (Exception e) { ModelState.AddModelError("Erreur", "Erreur lors du contrôle : " + e.Message); return(RedirectToAction("Index", "Connexion")); } } else { ModelState.AddModelError("Erreur", "Erreur login erroné : " + login); return(RedirectToAction("Index", "Connexion")); } } catch (MonException e) { ModelState.AddModelError("Erreur", "Erreur lors de l'authentification : " + e.Message); return(RedirectToAction("Index", "Connexion")); } return(RedirectToAction("Index", "Home")); } catch (MonException e) { ModelState.AddModelError("Erreur", "Erreur lors de l'authentification : " + e.Message); return(RedirectToAction("Index", "Connexion")); } }
public ActionResult Controle() { try { // on récupère les données du formulaire string login = Request.Form["login"]; string mdp = Request.Form["pwd"]; try { ServiceUtilisateur unService = new ServiceUtilisateur(); Utilisateur unUtilisateur = unService.getUtilistateur(login); if (unUtilisateur != null) { try { Byte[] selmdp = MonMotPassHash.GenerateSalt(); Byte[] mdpByte = MonMotPassHash.PasswordHashe("secret", selmdp); String mdpS = MonMotPassHash.BytesToString(mdpByte); String saltS = MonMotPassHash.BytesToString(selmdp); String sel = unUtilisateur.Salt; // on récupère le sel Byte[] salt = MonMotPassHash.transformeEnBytes(unUtilisateur.Salt); // on génère le mot de passe Byte[] tempo = MonMotPassHash.transformeEnBytes(unUtilisateur.MotPasse); if (MonMotPassHash.VerifyPassword(salt, mdp, tempo) == false) { ModelState.AddModelError("Erreur", "Erreur lors du contrôle du mot de passe pour : " + login); return(RedirectToAction("Index", "Connexion")); } else { HttpContext.Session.SetString("Pseudo", unUtilisateur.NomUtil); HttpContext.Session.SetString("Role", unUtilisateur.Role); Utilisateur.SetConnected(true); Utilisateur.SetAdmin(unUtilisateur.Role.Equals("admin")); return(RedirectToAction("Index", "Home")); } } catch (Exception e) { ModelState.AddModelError("Erreur", "Erreur lors du contrôle : " + e.Message); return(RedirectToAction("Index", "Connexion")); } } else { ModelState.AddModelError("Erreur", "Erreur login erroné : " + login); return(RedirectToAction("Index", "Connexion")); } } catch (MonException e) { ModelState.AddModelError("Erreur", "Erreur lors de l'authentification : " + e.Message); return(RedirectToAction("Index", "Connexion")); } } catch (MonException e) { ModelState.AddModelError("Erreur", "Erreur lors de l'authentification : " + e.Message); return(RedirectToAction("Index", "Connexion")); } }