public ActionResult Index(Utilisateur utilisateur) { //On crée une variable "isValid" qui permet de savoir si un utilisateur possède une adresse mail valide sur notre site var isValid = db.Utilisateurs.Where(am => am.AdresseMail == utilisateur.AdresseMail).FirstOrDefault(); //Si on a bien une adresse mail if (isValid != null) { //On compare le mot de passe hashé entré par l'utilisateur et le mot de passe avec lequel il s'est inscrit if (string.Compare(HashingPass.Hash(utilisateur.MotDePasse), isValid.MotDePasse) == 0) { /*Méthode qui va générer un ticket d'authentification pour l'utilisateur * que l'on stocke par la suite dans un cookie pour le rediriger vers la page du site*/ var ticket = new FormsAuthenticationTicket("connexionCookie", false, 525600); string encrypt = FormsAuthentication.Encrypt(ticket); var connexionCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypt) { Expires = DateTime.Now.AddMinutes(5000) }; connexionCookie.HttpOnly = true; Response.Cookies.Add(connexionCookie); HttpCookie idUserCookie = new HttpCookie("idUtilisateurCookie"); string strIdUtilisateur = UtilisateurDAL.getIdUtilisateurFromEmail(utilisateur.AdresseMail).ToString(); idUserCookie.Values.Set("idUtilisateur", strIdUtilisateur); idUserCookie.Expires = DateTime.Now.AddMinutes(5000); idUserCookie.HttpOnly = true; Response.Cookies.Add(idUserCookie); return(RedirectToAction("Index", "BilletRetards")); //TEST } else { ModelState.AddModelError("MotDePasse", "Votre mot de passe est incorrect"); } } else { ModelState.AddModelError("AdresseMail", "L'adresse que vous avez renseignée n'existe pas"); } return(View()); }