public ActionResult MyLogin(Domain.Model.RegistroPassWpord_Response model) { try { if (string.IsNullOrEmpty(model.email)) { ModelState.AddModelError("", "El email es una campo requerido"); } if (string.IsNullOrEmpty(model.password)) { ModelState.AddModelError("", "El password es una campo requerido"); } if (ModelState.Count > 0) { throw new Exception(""); } Data.PersistenceModel.Tb_MD_Pre_Clientes clinete = null; using (MesaDinero.Data.PersistenceModel.MesaDineroContext context = new Data.PersistenceModel.MesaDineroContext()) { string clave = Encrypt.EncryptKey(model.password); Data.PersistenceModel.Tb_MD_ClienteUsuario login_result = null; login_result = context.Tb_MD_ClienteUsuario.FirstOrDefault(x => x.Email.Equals(model.email) && x.Password.Equals(clave)); if (login_result == null) { ModelState.AddModelError("", "El usuario o password son incorrectos"); } if (ModelState.Count > 0) { throw new Exception(""); } clinete = context.Tb_MD_Pre_Clientes.FirstOrDefault(x => x.idPreCliente == login_result.IdCliente); } if (ModelState.Count > 0) { throw new Exception(""); } var claims = new List <Claim> { new Claim(ClaimTypes.WindowsAccountName, model.email), new Claim(ClaimTypes.Name, model.email), new Claim(ClaimTypes.Actor, clinete.vNroDocumento), new Claim(ClaimTypes.Role, ""), new Claim(ClaimTypes.Country, clinete.SecretId.ToString()), new Claim(ClaimTypes.PostalCode, clinete.vTipoCliente.ToString()), new Claim(ClaimTypes.NameIdentifier, model.email), new Claim(ClaimTypes.DenyOnlySid, clinete.idPreCliente.ToString()), 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); return(RedirectToAction("", "Inicio")); } catch (Exception ex) { return(RedirectToAction("", "Acceso", model)); } }