public ActionResult ResetPassword(User user) { try { User _user = UserCommon.GetInstance().Get(user).FirstOrDefault(); if (!_user.blocked.Equals("SIM")) { string _newPassword = Password.Create(); _user.password = Cripto.GetHash(_newPassword); _user.change_password = 1; UserCommon.GetInstance().Update(_user); string body = EmailTemplate.ResetPassword(_user.nome_user, _newPassword); Email email = new Email() { recipient = _user.email, subject = "Recuperação de Senha", body = body }; Mail.Send(email); var response = "Uma nova senha foi encaminhada por e-mail"; return(Json(new { retorno = response })); } else { var response = "O usuário está bloqueado"; return(Json(new { retorno = response })); } } catch { var response = "error"; return(Json(new { retorno = response })); } }
public ActionResult Login(User user) { try { User _user = UserCommon.GetInstance().Get(new User() { email = user.email }).FirstOrDefault(); if (_user != null) { if (_user.password.Equals(Cripto.GetHash(user.password))) { if (!_user.blocked.Equals("SIM")) { IncorrectAttempt(_user, true); var response = _user; return(Json(new { retorno = "/MyAccount/Index" })); } else { var response = "Usuário bloqueado!"; return(Json(new { retorno = response })); } } else { if (_user.attempts == 1) { IncorrectAttempt(_user, false); var response = "Senha incorreta! O cadastro será bloqueado na próxima tentativa errada."; return(Json(new { retorno = response })); } else if (_user.attempts >= 2) { IncorrectAttempt(_user, false); var response = "Senha incorreta! O cadastro está bloqueado."; return(Json(new { retorno = response })); } else { IncorrectAttempt(_user, false); var response = "Senha incorreta!"; return(Json(new { retorno = response })); } } } else { var response = "Usuário não encontrado"; return(Json(new { retorno = response })); } } catch { var response = "error"; return(Json(new { retorno = response })); } }
private void IncorrectAttempt(User user, bool reset) { if (!reset) { user.attempts = user.attempts + 1; if (user.attempts >= 3) { user.blocked = "SIM"; } UserCommon.GetInstance().Update(user); } else { user.attempts = 0; UserCommon.GetInstance().Update(user); } }
public ActionResult CreateAcount(User user) { try { if (Validation.Execute(user)) { string _newPassword = Password.Create(); user.password = Cripto.GetHash(_newPassword); user.change_password = 1; user.active = "SIM"; user.attempts = 0; user.blocked = "NÃO"; user.profile_id = 2; UserCommon.GetInstance().Create(user); string body = EmailTemplate.NewUser(user.nome_user, _newPassword); Email email = new Email() { recipient = user.email, subject = "Cadastro no sistema", body = body }; Mail.Send(email); var response = "Usuário cadastrado, uma senha de acesso foi enviada por e-mail"; return(Json(new { retorno = response })); } else { var response = "Preencha todas as informações."; return(Json(new { retorno = response })); } } catch { var response = "error"; return(Json(new { retorno = response })); } }
public ActionResult ChangePassword(User user) { try { if (!String.IsNullOrEmpty(user.password)) { if (Password.StrongPassword(user.password)) { var _user = UserCommon.GetInstance().Get(new Core.Model.User() { id_user = user.id_user }).FirstOrDefault(); _user.password = Cripto.GetHash(user.password); _user.change_password = 0; UserCommon.GetInstance().Update(_user); var response = "Senha alterada"; return(Json(new { retorno = response })); } else { var response = "Senha fraca! Use letras maiúsculas e minusculas, caracteres especiais e números."; return(Json(new { retorno = response })); } } else { var response = "Nova senha não pode ser nula!"; return(Json(new { retorno = response })); } } catch { var response = "error"; return(Json(new { retorno = response })); } }