//[ValidateAntiForgeryToken] public async Task <IActionResult> Login(string email, string password) { if (TempData["EMAIL"] != null && TempData["PASSWORD"] != null) { email = TempData["EMAIL"].ToString(); password = TempData["PASSWORD"].ToString(); } string token = await repo.GetToken(email, password); if (token == null) { ViewData["Mensaje"] = "Usuario/Password incorrectos o su cuenta ha sido desactivada"; return(View()); } HttpContext.Session.SetString("token", token); Usuarios usuario = await repo.GetUserLogin(token); if (usuario != null) { ClaimsIdentity identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme, ClaimTypes.Name, ClaimTypes.Role); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, usuario.UserId.ToString())); identity.AddClaim(new Claim(ClaimTypes.Name, usuario.Email)); identity.AddClaim(new Claim(ClaimTypes.Role, usuario.NombreRole)); identity.AddClaim(new Claim("Password", usuario.Password)); ClaimsPrincipal userPrincipal = new ClaimsPrincipal(identity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, userPrincipal, new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTime.Now.AddMinutes(60) }); HttpContext.Session.SetInt32("userLogged", usuario.UserId); string existe = await repo.ExisteTipoUsuario(usuario.UserId); if (existe.Equals("SinPerfil") && usuario.NombreRole != "Administrador") { Usuarios user = await repo.FindUser(usuario.UserId, token); TempData["User"] = JsonConvert.SerializeObject(user); TempData["EMAIL"] = email; TempData["PASSWORD"] = password; string noPerfil = await repo.CrearPerfilUsuario(user.UserId); if (noPerfil.Equals("PacieNoPerfil")) { return(RedirectToAction("CrearPaciente", "Paciente")); } else if (noPerfil.Equals("PersoNoPerfil")) { return(RedirectToAction("CrearPersonal", "Personal")); } } if (TempData["CONTROLLER"] != null && TempData["ACTION"] != null && existe != "SinPerfil") { string controller = TempData["CONTROLLER"].ToString(); string action = TempData["ACTION"].ToString(); return(RedirectToAction(action, controller)); } else { return(RedirectToAction("Index", "Home")); } } else { ViewBag.Mensaje = "Usuario/Password incorrectos o su cuenta ha sido desactivada"; return(View()); } }
public ActionResult <string> CrearPerfilUsuario(int userLogged) { return(repo.CrearPerfilUsuario(userLogged)); }