private void ValidarPoliticaSenha(TrocaSenhaEsqueceuVM model) { if ((model.Senha.Length < 8) || (model.ConfirmaSenha.Length < 8)) { ModelState.AddModelError("model.Senha", "As senhas devem ter no mínimo 8 caracteres"); ModelState.AddModelError("model.ConfirmaSenha", "As senhas devem ter no mínimo 8 caracteres"); } }
public ActionResult TrocaSenhaEsqueceu(string chaveurl) { List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key); // VERIFICA SE OS PARAMETROS FORAM MONTADOS CORRETAMENTE if (param.Count == 0) { ViewBag.DisplayForm = false; ViewBag.DisplaySucesso = false; ViewBag.DisplayAlerta = true; return(View()); } int id; string chaveEsqueceu; Int32.TryParse(param.First(p => p.Name == "id").Value, out id); chaveEsqueceu = param.First(p => p.Name == "chave").Value; Usuario usuario = _usuarioService.BuscarPorId(id); //VERIFICA SE O Usuario EXISTE if (usuario == null) { ViewBag.DisplayForm = false; ViewBag.DisplaySucesso = false; ViewBag.DisplayAlerta = true; return(View()); } //VERIFICA SE A CHAVE DE TROCA DE SENHA CONFERE if (usuario.TROCAR_SENHA != chaveEsqueceu) { ViewBag.DisplayForm = false; ViewBag.DisplaySucesso = false; ViewBag.DisplayAlerta = true; return(View()); } TrocaSenhaEsqueceuVM acesso = new TrocaSenhaEsqueceuVM(); acesso.ID = usuario.ID; if (usuario.Contratante != null) { if (usuario.Contratante.TIPO_CADASTRO_ID != null) { acesso.TipoCadastro = (int)usuario.Contratante.TIPO_CADASTRO_ID; } } ViewBag.DisplayForm = true; ViewBag.DisplaySucesso = false; ViewBag.DisplayAlerta = false; ViewBag.CPF_CNPJ = (usuario.CPF_CNPJ.Length == 14 ? 1 : 2); return(View(acesso)); }
/// <summary> /// /// </summary> /// <param name="model"></param> private void ValidarPoliticaSenha(TrocaSenhaEsqueceuVM model) { if ((model.Senha.Length < 8) || (model.ConfirmaSenha.Length < 8)) { ModelState.AddModelError("model.Senha", "As senhas devem ter no mínimo 8 caracteres"); ModelState.AddModelError("model.ConfirmaSenha", "As senhas devem ter no mínimo 8 caracteres"); } //Regex rgx = new Regex(@"(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,10}", RegexOptions.IgnoreCase); //MatchCollection matches = rgx.Matches(model.Senha); //if (matches.Count <= 0) //{ // ModelState.AddModelError("", "A senha deve respeitar a política de senha da empresa."); //} }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <param name="usuario"></param> private void Validar6UltimasSenhas(TrocaSenhaEsqueceuVM model, Usuario usuario) { List <USUARIO_SENHAS> historicoSenhaList = usuario.WFD_USUARIO_SENHAS_HIST .OrderBy(x => x.SENHA_DT) .Take(6) .ToList(); foreach (var item in historicoSenhaList) { if (PasswordHash.ValidatePassword(model.Senha, item.SENHA)) { ModelState.AddModelError("", "Erro ao tentar salvar a nova senha! A mesma corresponde a uma senha anteriormente cadastrada."); } } }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <param name="usuario"></param> private void IncluirHistoricoIncluirNovaSenhaUsuario(TrocaSenhaEsqueceuVM model, Usuario usuario) { string senha = PasswordHash.CreateHash(model.Senha); USUARIO_SENHAS historicoSenha = new USUARIO_SENHAS { SENHA = senha, USUARIO_ID = usuario.ID, SENHA_DT = DateTime.Now }; usuario.SENHA = senha; usuario.TROCAR_SENHA = null; usuario.PRIMEIRO_ACESSO = false; _usuarioService.IncluirUsuarioIncluirNovaSenhaUsuario(usuario, historicoSenha); }
public ActionResult TrocaSenhaEsqueceu(TrocaSenhaEsqueceuVM model) { ViewBag.DisplayForm = true; ViewBag.DisplaySucesso = false; ViewBag.DisplayAlerta = false; ValidarPoliticaSenha(model); Usuario usuario = _usuarioService.BuscarPorId(model.ID); ViewBag.CPF_CNPJ = (usuario.CPF_CNPJ.Length == 14 ? 1 : 2); if (ModelState.IsValid) { if (usuario != null) { //if (usuario.CPF_CNPJ != model.CPF.Replace(".", "").Replace("-", "").Replace("/", "")) //{ // if (usuario.CPF_CNPJ.Length == 14) // ModelState.AddModelError("CNPJ", "CNPJ Inválido!"); // else // ModelState.AddModelError("CPF", "CPF Inválido!"); //} //Validar6UltimasSenhas(model, usuario); if (ModelState.IsValid) { IncluirHistoricoIncluirNovaSenhaUsuario(model, usuario); ViewBag.DisplayForm = false; ViewBag.DisplaySucesso = true; ViewBag.DisplayAlerta = false; return(View()); } } else { ViewBag.DisplayForm = true; ViewBag.DisplaySucesso = false; ViewBag.DisplayAlerta = false; ModelState.AddModelError("", "Erro ao tentar salvar a nova senha, o identificador do usuário não existe!"); } } return(View(model)); }