Esempio n. 1
0
        /*pour s'authentifier*/
        public ActionResult AuthentificationUser(UTILISATEURViewModel model)
        {
            try
            {
                string pwdCrypte             = model.userMotdepasse.Trim();
                redactapplicationEntities db = new Models.redactapplicationEntities();
                UTILISATEUR utilisateur      = null;
                if (model.saveOnComputer)
                {
                    utilisateur = db.UTILISATEURs.SingleOrDefault(x => x.userMail == model.userMail.Trim() && x.userMotdepasse == pwdCrypte);
                    if (utilisateur == null)
                    {
                        pwdCrypte = Encryptor.EncryptPass(pwdCrypte);
                    }
                }
                else
                {
                    pwdCrypte = Encryptor.EncryptPass(pwdCrypte);
                }


                utilisateur = db.UTILISATEURs.SingleOrDefault(x => x.userMail == model.userMail.Trim() && x.userMotdepasse == pwdCrypte);

                if (utilisateur != null)
                {
                    FormsAuthentication.SetAuthCookie(utilisateur.userId.ToString(), model.saveOnComputer);/*CREATION COOKIES*/
                    //Session["mail"] = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(utilisateur.userMail);
                    //Session["pass"] = pwdCrypte;
                    Session["logoUrl"] = utilisateur.logoUrl;
                    Session["name"]    = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(utilisateur.userNom);
                    Session["surname"] = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(utilisateur.userPrenom);
                    Session["role"]    = (new Utilisateurs()).GetUtilisateurRoleToString(utilisateur.userId);
                    if (model.saveOnComputer)
                    {
                        HttpCookie trigerAuths = new HttpCookie("trigerAuths");
                        trigerAuths.Values["username"] = utilisateur.userMail;
                        trigerAuths.Values["password"] = Encryptor.Decrypt(utilisateur.userMotdepasse);
                        trigerAuths.Expires            = DateTime.Now.AddDays(Convert.ToInt32(ConfigurationManager.AppSettings["cookiesValidity"]));
                        Response.Cookies.Add(trigerAuths);
                    }
                }
                else
                {
                    return(View("ErrorInvalidAccountOrPassword"));
                }
                var data = (new Utilisateurs()).GetUtilisateurRole(utilisateur.userId).ToList();
                {
                    if (data.Count == 1)
                    {
                        if (data[0] == 1)
                        {
                            return(RedirectToRoute("Home", new RouteValueDictionary
                            {
                                { "controller", "Contact" },
                                { "action", "ListeContact" }
                            }));
                        }
                        if (data[0] == 2)
                        {
                            return(RedirectToRoute("Home", new RouteValueDictionary {
                                { "controller", "Commandes" },
                                { "action", "ListCommandes" }
                            }));
                        }

                        if (data[0] == 4)
                        {
                            return(RedirectToRoute("Home", new RouteValueDictionary
                            {
                                { "controller", "Contact" },
                                { "action", "ListeContact" }
                            }));
                        }

                        if (data[0] == 3 || data[0] == 5)
                        {
                            return(RedirectToRoute("Home", new RouteValueDictionary {
                                { "controller", "Home" },
                                { "action", "ListeUser" },
                                { "numpage", 1 },
                                { "nbrow", 10 }
                            }));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                Debug.WriteLine("passe exception");
                return(View("ErrorException"));
            }
            Debug.WriteLine("passe error final");
            return(View("ErrorInvalidAccountOrPassword"));
        }