public ActionResult Login(Models.Usuario u) { try { if (u.strSenha == null) { ModelState.AddModelError("strSenha", "Insira uma senha!"); return(View(u)); } if (u.strMatricula.Length != 7) { ModelState.AddModelError("strMatricula", "Insira uma matricula correta!"); return(View(u)); } if (u.strSenha.Length < 1) { ModelState.AddModelError("strSenha", "Insira uma senha para login!"); return(View(u)); } using (BdJunto bd = new BdJunto()) { //tenta ´buscar os dados com as informações passadas var v = bd.tbUsuario.Where(a => a.strMatricula.Equals(u.strMatricula) && a.strSenha.Equals(u.strSenha)).FirstOrDefault(); if (v != null) { //salva para depois usar Session["usuID"] = v.idUsuario.ToString(); Session["nome"] = v.strNome.ToString(); return(RedirectToAction("Index", "Home")); } } ModelState.AddModelError("strMatricula", "Matricula ou Senha incorreta!"); return(View(u)); } catch (Exception a) { ModelState.AddModelError("strMatricula", "Erro!"); return(View()); } }
public ActionResult EntraToken(Models.Usuario u) { try { if (u.strMatricula.Length != 7) { ModelState.AddModelError("strMatricula", "Insira uma matricula correta!"); return(View(u)); } if (u.strToken.Length < 1) { ModelState.AddModelError("strToken", "Insira o Token para login!"); return(View(u)); } DateTime dataAtual = DateTime.Now.AddMinutes(-1); using (BdJunto bd = new BdJunto()) { //valida o usuário o token e a data de geração do token se ainda está válido var v = bd.tbUsuario.Where(a => a.strMatricula.Equals(u.strMatricula) && a.strToken.Equals(u.strToken) && a.dtGeracaoToken > dataAtual).FirstOrDefault(); if (v != null) { Session["usuID"] = v.idUsuario.ToString(); Session["nome"] = v.strNome.ToString(); return(RedirectToAction("Index", "Home")); } } ModelState.AddModelError("strMatricula", "Matricula ou Token incorreto!"); return(View(u)); } catch (Exception a) { ModelState.AddModelError("strMatricula", "Erro!"); return(View()); } }
public ActionResult GeraToken(Models.Usuario u) { try { if (u.strMatricula.Length != 7) { ModelState.AddModelError("strMatricula", "Insira uma matricula correta!"); return(View(u)); } using (BdJunto bd = new BdJunto()) { var v = bd.tbUsuario.Where(a => a.strMatricula.Equals(u.strMatricula)).FirstOrDefault(); if (v != null) { Random nuAle = new Random(); //gera um token e salva a data de geração, assim quando for consultar, validar conforme a data de geração v.strToken = nuAle.Next(100000, 999999).ToString(); v.dtGeracaoToken = DateTime.Now; db.Entry(v).State = System.Data.EntityState.Modified; db.SaveChanges(); Session["matToken"] = v.strMatricula.ToString(); return(RedirectToAction("EntraToken", "Home")); } } ModelState.AddModelError("strMatricula", "Matricula incorreta!"); return(View(u)); } catch (Exception a) { ModelState.AddModelError("strMatricula", "Erro!"); return(View()); } }