Example #1
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            string mdpCrypte = Cryptage.getMd5Hash(model.Password);

            using (Data db = new Data())
            {
                var utilisateur = (from u in db.Users where (u.Email == model.Account || u.UserName == model.Account) && u.Password == mdpCrypte select u).FirstOrDefault();

                if (utilisateur != null)
                {
                    var claims = new List<Claim>
                    {
                        new Claim(ClaimTypes.Sid, utilisateur.ID.ToString()),
                        new Claim(ClaimTypes.Name, utilisateur.UserName),
                        new Claim(ClaimTypes.Email, utilisateur.Email),
                        new Claim(ClaimTypes.NameIdentifier, Guid.NewGuid().ToString() + utilisateur.ID.ToString())
                    };

                    var identity = new ClaimsIdentity(claims, "ApplicationCookie", ClaimTypes.Name, ClaimTypes.Role);
                    var owinContext = HttpContext.GetOwinContext();
                    owinContext.Authentication.SignIn(identity);

                    return RedirectToAction(returnUrl);
                }

                ModelState.AddModelError("", "Tentative de connexion non valide.");
                return View(model);
            }
        }
Example #2
0
        //
        // GET: /Manage/Index
        public ActionResult Index()
        {
            ClaimsIdentity identity = (ClaimsIdentity)User.Identity;
            Claim sid = identity.FindFirst(ClaimTypes.Sid);
            var userId = int.Parse(sid.Value);

            using(Data db = new Data())
            {
                var utilisateur = (from u in db.Users where u.ID == userId select u).FirstOrDefault();

                if( utilisateur != null)
                {
                    var model = new IndexViewModel
                    {
                        UserName = utilisateur.UserName,
                        Email = utilisateur.Email
                    };

                    return View(model);
                }
            }

            return RedirectToAction("/Home/Index");
        }
Example #3
0
        public ActionResult ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            ClaimsIdentity identity = (ClaimsIdentity)User.Identity;
            Claim sid = identity.FindFirst(ClaimTypes.Sid);
            var userId = int.Parse(sid.Value);

            using (Data db = new Data())
            {
                var utilisateur = (from u in db.Users where u.ID == userId select u).FirstOrDefault();

                if (utilisateur != null)
                {
                    utilisateur.Password = Cryptage.getMd5Hash(model.ConfirmPassword);
                    return View(model);
                }
            }

            return View(model);
        }
Example #4
0
        public ActionResult Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {

                var user = new User();

                user.UserName = model.UserName;
                user.Email = model.Email;
                user.Password = Cryptage.getMd5Hash(model.Password);

                using (Data db = new Data())
                {
                    db.Users.Add(user);
                    db.SaveChanges();

                    return RedirectToAction("Login", "Account");
                }
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return View(model);
        }
Example #5
0
        public ActionResult ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            using(Data db = new Data())
            {
                var utilisateur = (from u in db.Users where u.Email == model.Email select u).FirstOrDefault();

                if( utilisateur != null)
                {
                    string mdp = System.Web.Security.Membership.GeneratePassword(8, 2);
                    utilisateur.Password = Cryptage.getMd5Hash(mdp);

                    db.SaveChanges();

                    ViewBag.Resultat = string.Format("Un nouveau mot de passe à été généré : {0}. Vous pouvez maintenant vous connecter avec ce mot de passe.", mdp);

                    return RedirectToAction("/Account/Login");
                }
            }

            return View();
        }