Exemplo n.º 1
0
        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());
        }