public ActionResult AlterarSenha(string codigo, CandidatoAlterarSenhaViewModel model) { string token = Uri.UnescapeDataString(codigo); Candidato candidado = Candidato.LerTokenParaAlterarSenha(Criptografia.Base64Decode(token)); if (candidado != null) { if (!StringExt.IsNullOrWhiteSpace(model.Cpf, model.Email, model.Senha, model.Confirmacao) && Valida.CPF(model.Cpf) && Valida.Email(model.Email) && model.Senha == model.Confirmacao) { using (var contexto = new Contexto()) { string cpf = Formate.DeCPF(model.Cpf); Candidato c = contexto.Candidato.FirstOrDefault(cand => cand.Cpf == cpf); if (c != null && c.Email.ToLower() == model.Email.ToLower()) { if (c.Cpf == candidado.Cpf && c.Email.ToLower() == candidado.Email.ToLower()) { c.Senha = Criptografia.RetornarHash(model.Senha); c.AlterarSenha = null; model.Mensagem = "Senha alterada com sucesso."; model.Ok = true; contexto.SaveChanges(); return(View(model)); } } else { model.Mensagem = "Não foi encontrado nenhum candidato para os dados informados."; } } } else { model.Mensagem = "Todos os campos devem serem preenchidos com valores válidos."; } return(View(model)); } return(RedirectToAction("Index")); }
public static Usuario Autenticar(string matricula, string senha) { if (!Sistema.UsuarioAtivo.Keys.Contains(matricula)) { Usuario usuario = ListarPorMatricula(matricula); if (usuario != null && Criptografia.ChecarSenha(senha, usuario.Senha)) { return(usuario); } } else if (HttpContextManager.Current.Request.Cookies.AllKeys.Contains("SIAC_Login")) { if (Criptografia.Base64Decode(HttpContextManager.Current.Request.Cookies["SIAC_Login"].Value).ToLower() == matricula.ToLower()) { Usuario usuario = ListarPorMatricula(matricula); if (usuario != null && Criptografia.ChecarSenha(senha, usuario.Senha)) { return(usuario); } } } return(null); }