public ActionResult Login(string returnUrl) { RegistroPassWpord_Response model = new RegistroPassWpord_Response(); ViewBag.ReturnUrl = returnUrl; //ViewBag.lstEmpresas = getempresaslogin(); return(View(model)); }
public async Task <ActionResult> Login(RegistroPassWpord_Response model) { try { bool error = false; string nombre = ""; if (string.IsNullOrEmpty(model.email)) { ModelState.AddModelError("", "El email es una campo requerido"); error = true; } if (string.IsNullOrEmpty(model.password)) { ModelState.AddModelError("", "El password es una campo requerido"); error = true; } //if (string.IsNullOrEmpty(model.empresa)) //{ // ModelState.AddModelError("", "La empresa es una campo requerido"); // error = true; //} //&& x.vRucEmpresa.Equals(model.empresa) if (error) { throw new Exception(""); } Data.PersistenceModel.Tb_MD_Mae_Usuarios login_result = null; Data.PersistenceModel.Tb_MD_Per_Natural login_persona = null; string clave = MesaDinero.Domain.Helper.Encrypt.EncryptKey(model.password); //string clave = model.password; using (MesaDinero.Data.PersistenceModel.MesaDineroContext context = new Data.PersistenceModel.MesaDineroContext()) { login_result = context.Tb_MD_Mae_Usuarios.FirstOrDefault(x => x.vEmailUsuario.Equals(model.email) && x.vPassword.Equals(clave)); login_persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento == login_result.vNroDocumento); if (login_persona != null) { nombre = login_persona.vNombre; //+" " + login_persona.vApellido; } //" "+login_persona.vApellidoMat if (login_result == null) { ModelState.AddModelError("", "El usuario o password es incorrecto."); error = true; } if (error) { throw new Exception(""); } } /*NUEVO CAMBIAR*/ var claims = new List <Claim> { new Claim(ClaimTypes.WindowsAccountName, model.email), new Claim(ClaimTypes.Name, nombre), new Claim(ClaimTypes.Actor, model.email), new Claim(ClaimTypes.PostalCode, login_result.iIdUsuario.ToString()), new Claim(ClaimTypes.Role, login_result.vNroDocumento), new Claim(ClaimTypes.NameIdentifier, login_result.vEmailUsuario), new Claim(ClaimTypes.Country, login_result.vRucEmpresa ?? ""), new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", model.email) //new Claim(ClaimTypes., curUser.UserGroupID.ToString()) }; var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); var ctx = Request.GetOwinContext(); AuthenticationManager.SignIn(id); //if (login_result.Rol.Equals("Operador")) // return RedirectToAction("", "Operador"); //if (login_result.Rol.Equals("Fideicomiso")) // return RedirectToAction("", "Fideicomiso"); return(RedirectToAction("", "Home")); } catch (Exception ex) { ViewBag.lstEmpresas = getempresaslogin(); return(View(model)); } }