Пример #1
0
 protected ManageAccountBaseController(
     UserManager userManager,
     UserSignInManager signInManager,
     RoleManager roleManager)
 {
     this.UserManager   = userManager;
     this.SignInManager = signInManager;
 }
Пример #2
0
 public ActionResult Login(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         //looking for user in DB
         AppUser user = UserSignInManager.LoginUser(model.Email, model.User_Password);
         if (user != null)
         {
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             ModelState.AddModelError("", "Username or password is incorrect. User didn't find.");
         }
     }
     return(View(model));
 }
Пример #3
0
        public ActionResult ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                UserSignInManager manager = new UserSignInManager();
                var result = manager.ResetUserPassword(model);

                if (result.Status == PasswordResetStatus.Success)
                {
                    return(RedirectToAction("ResetPasswordConfirmation", "Account"));
                }
                else if (result.Status == PasswordResetStatus.InvalidEmailAddress)
                {
                    ModelState.AddModelError("", "Invalid email address provided. Please try again.");
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        if (error.Contains("one non letter or digit character"))
                        {
                            var replaceError = error.Replace("Passwords must have at least one non letter or digit character.", "Passwords must have at least one special character.");
                            ModelState.AddModelError("", replaceError);
                        }
                        else
                        {
                            ModelState.AddModelError("", error);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = "Exception occurred!!!";
                log.Error(message, ex);
                ModelState.AddModelError("", message);
                return(View(model));
            }
            return(View());
        }
Пример #4
0
        public ActionResult ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    UserSignInManager manager = new UserSignInManager();
                    var result = manager.GeneratePasswordResetToken(model.Email);

                    if (result.Status == PasswordResetStatus.Success)
                    {
                        EmailHelpers eh        = new EmailHelpers();
                        string       resetcode = result.ResetToken;

                        string username    = result.EmailAddress;
                        var    callbackUrl = Url.Action("ResetPassword", "Account", new { code = resetcode }, protocol: Request.Url?.Scheme);

                        eh.SendPasswordResetEmail(model.Email, callbackUrl);

                        var logMessage = Helpers.FormatLogMessage(TableNameConstants.UsersTableName, username, model.Email, "Password reset email sent successfully!!!");
                        log.Info(logMessage);

                        return(RedirectToAction("ForgotPasswordConfirmation", "Account"));
                    }
                    else
                    {
                        log.WarnFormat("Unable to reset password for email: {0}", model.Email);
                        ModelState.AddModelError("",
                                                 result.Status == PasswordResetStatus.InvalidEmailAddress
                                ? "Invalid email address provided. Please try again."
                                : $"Unable to reset password for email: {model.Email}");
                    }
                }
                catch (Exception ex)
                {
                    string message = "Exception occurred!!!";
                    log.Error(message, ex);
                    ModelState.AddModelError("Exception", message);
                    return(View(model));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #5
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_userManager != null)
                {
                    _userManager.Dispose();
                    _userManager = null;
                }

                if (_signInManager != null)
                {
                    _signInManager.Dispose();
                    _signInManager = null;
                }
            }
            base.Dispose(disposing);
        }
Пример #6
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            try
            {
                var    signinManager = new UserSignInManager();
                string browserString = $"Browser: {Request.Browser.Browser}, Version: {Request.Browser.Version}";

                var result = signinManager.ValidateUserCredentials(model.Email, model.Password);

                string logMessage;
                switch (result.Status)
                {
                case SignInStatus.Success:
                    IdentitySignin(result.UserInfo, isPersistent: model.RememberMe);
                    logMessage = Helpers.FormatLogMessage(TableNameConstants.UsersTableName, model.Email, model.Email, InfoMessages.UserLoginSuccess, browserString);
                    log.Info(logMessage);
                    return(RedirectToLocal(returnUrl));

                case SignInStatus.LockedOut:
                    logMessage = Helpers.FormatLogMessage(TableNameConstants.UsersTableName, model.Email, model.Email, InfoMessages.UserLockedOut, browserString);
                    log.Info(logMessage);
                    ModelState.AddModelError("", "Invalid login attempt - Account Locked out. Please contact your project manager.");
                    return(View(model));

                default:
                    logMessage = Helpers.FormatLogMessage(TableNameConstants.UsersTableName, model.Email, model.Email, InfoMessages.UserLoginFailure, browserString);
                    log.Info(logMessage);
                    ModelState.AddModelError("", "Invalid login attempt.");
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                log.Error("Exception occurred!!!", ex);
                ModelState.AddModelError("", "Exception occurred!!!");
                return(View(model));
            }
        }
Пример #7
0
        private void IdentitySignin(HTGTUsersViewModel user, bool isPersistent = false)
        {
            var claims = new List <Claim>
            {
                // create required claims
                new Claim(ClaimTypes.NameIdentifier, user.EmailAddress),
                new Claim(ClaimTypes.Name, UserSignInManager.FormatName(user.FirstName, user.LastName)),
                // custom – my serialized AppUserState object
                new Claim("HTGTUserInfo", user.ToString())
            };

            var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);

            AuthenticationManager.SignIn(new AuthenticationProperties()
            {
                AllowRefresh = true,
                IsPersistent = isPersistent,
                ExpiresUtc   = DateTime.UtcNow.AddDays(1)
            }, identity);
        }
Пример #8
0
 public LocalController(UsersManager userManager, UserSignInManager signInManager)
 {
     UserManager   = userManager;
     SignInManager = signInManager;
 }
Пример #9
0
 public AccountController(UserSignInManager signInManager)
 {
     SignInManager = signInManager;
 }
Пример #10
0
 public AccountController(UsersManager userManager, UserSignInManager signInManager)
 {
     UserManager   = userManager;
     SignInManager = signInManager;
 }
Пример #11
0
 public LoginController(UserManager userManager, UserSignInManager signInManager)
 {
     UserManager = userManager;
     SignInManager = signInManager;
 }
Пример #12
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_userManager != null)
                {
                    _userManager.Dispose();
                    _userManager = null;
                }

                if (_signInManager != null)
                {
                    _signInManager.Dispose();
                    _signInManager = null;
                }
            }
            base.Dispose(disposing);
        }
Пример #13
0
 public AccountController(UserManager userManager, UserSignInManager signInManager)
 {
     UserManager = userManager;
     SignInManager = signInManager;
 }