Exemple #1
0
        public IActionResult ChangeMyPassword(PasswordChangeModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser user = CurrentUser;

                if (user != null)
                {
                    bool exist = Usermanager.CheckPasswordAsync(user, model.PasswordOld).Result;
                    if (exist)
                    {
                        IdentityResult result = Usermanager.ChangePasswordAsync(user, model.PasswordOld, model.PasswordNew
                                                                                ).Result;
                        if (result.Succeeded)
                        {
                            Usermanager.UpdateSecurityStampAsync(user);
                            SignInManager.SignOutAsync();
                            SignInManager.PasswordSignInAsync(user, model.PasswordNew, false, false);

                            ViewBag.success = true;
                        }
                        else
                        {
                            AddErrors(result);
                        }
                    }
                }
            }
            return(View(model));
        }
Exemple #2
0
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl)
        {
            model.ExternalLogins =
                (await Signinmanager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var user = await Usermanager.FindByEmailAsync(model.Email);

                if (user != null && !user.EmailConfirmed &&
                    (await Usermanager.CheckPasswordAsync(user, model.Password)))
                {
                    ModelState.AddModelError(string.Empty, "Email not confirmed yet");
                    return(View(model));
                }
                var result = await Signinmanager.PasswordSignInAsync(
                    user, model.Password, model.RememberMe, false);


                if (result.Succeeded)
                {
                    if (!String.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
                    {
                        //LocalRedirect(returnUrl);
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        if (User.IsInRole("Admin") || User.IsInRole("Super Admin") || User.IsInRole("Employee"))
                        {
                            return(RedirectToAction("Admin", "Home"));
                        }
                        else
                        {
                            return(RedirectToAction("index", "Home"));
                        }
                    }
                }

                ModelState.AddModelError(string.Empty, "Invalid Login Attempt");
            }

            return(View(model));
        }