コード例 #1
0
        Login(string email, string password)
        {
            Usuario usuarioBBDD = repo.GetUsuario(email, password);

            if (usuarioBBDD is null)
            {
                ViewBag.Mensaje = "Usuario/Password incorrecto";
                return(View());
            }
            else
            {
                //CREAMOS NUESTRA IDENTIDAD CLAIMS
                ClaimsIdentity identidad =
                    new ClaimsIdentity(
                        CookieAuthenticationDefaults.AuthenticationScheme, ClaimTypes.Name, ClaimTypes.Role);
                identidad.AddClaim(new Claim(ClaimTypes.Name, usuarioBBDD.Nombre));
                identidad.AddClaim(new Claim(ClaimTypes.NameIdentifier, usuarioBBDD.Id.ToString()));
                identidad.AddClaim(new Claim(ClaimTypes.Role, usuarioBBDD.Rol));
                ClaimsPrincipal principal = new ClaimsPrincipal(identidad);
                await HttpContext.SignInAsync(
                    CookieAuthenticationDefaults.AuthenticationScheme
                    , principal, new AuthenticationProperties
                {
                    IsPersistent = true,
                    ExpiresUtc   = DateTime.Now.AddMinutes(2)
                });

                var reserva = HttpContext.Session.GetString("RESERVA");
                if (reserva is null || reserva == "")
                {
                    return(RedirectToAction("Index", "Home"));
                }