public ResultadoSesionView crearSesion(string usuario, string password, string ip) { ResultadoSesionView _resultado = new ResultadoSesionView(); using (EnerCable.Models.DB.EnercableConexion db = new EnerCable.Models.DB.EnercableConexion()) { // var rutas = ((IObjectContextAdapter)context).ObjectContext.Translate<Cabeceras>(reader, "Rutas", System.Data.Entity.Core.Objects.MergeOption.AppendOnly).ToList(); var output = db.CrearSesion(usuario, password, ip); foreach (var outp in output) { _resultado.IdSesion = outp.IdSesion.Value; _resultado.Resultado = outp.Resultado; } } return(_resultado); }
public ActionResult LogIn(UsuarioLoginView ULV, string returnUrl) { if (ModelState.IsValid) { SeguridadManager UM = new SeguridadManager(); string password = UM.GetUserPassword(ULV.Usuario); if (string.IsNullOrEmpty(password)) { ModelState.AddModelError("", "Usuario No Identificado."); } else { if (ULV.Password.Equals(password)) { string ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (ipaddress == "" || ipaddress == null) { ipaddress = Request.ServerVariables["REMOTE_ADDR"]; } ResultadoSesionView _resultado = UM.crearSesion(ULV.Usuario, ULV.Password, ipaddress); if (_resultado.IdSesion > 0) { HttpContext.Session.Add("IdSesion", _resultado.IdSesion); FormsAuthentication.SetAuthCookie(ULV.Usuario, false); FormsAuthentication.RedirectFromLoginPage(ULV.Usuario, false); } else { ModelState.AddModelError("", _resultado.Resultado); } } else { ModelState.AddModelError("", "El Password Proporcionado es Incorrecto"); } } } // If we got this far, something failed, redisplay form return(View(ULV)); }