예제 #1
0
        public async Task <TrabajadorCookie?> Validar(TrabajadorLoginViewModel model)
        {
            if (model == null || model.Correo == null || model.Contrasena == null)
            {
                return(null);
            }

            var trabajador = await GetByEmail(model.Correo);

            if (trabajador == null)
            {
                return(null);
            }

            bool verified = BCrypt.Net.BCrypt.Verify(model.Contrasena, trabajador.Contrasena);

            if (!verified)
            {
                return(null);
            }

            return(new TrabajadorCookie
            {
                Rut = trabajador.Rut,
                Correo = trabajador.Correo,
                Nombre = trabajador.Nombre,
                Rol = trabajador.IdRol
            });
        }
예제 #2
0
        public async Task <IActionResult> LoginAsync(TrabajadorLoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await repositorioTrabajadores.Validar(model);

            if (user == null)
            {
                return(View(model));
            }

            await administradorSesion.IniciarSesion(HttpContext, user);


            return(LocalRedirect("~/Producto"));
        }