コード例 #1
0
        public IActionResult IniciarSesion([FromBody] IniciarSesionDTO iniciarSesionDTO)
        {
            var usuarioAutenticado = this.userService.Authenticate(iniciarSesionDTO.Correo, iniciarSesionDTO.Contrasena);

            if (usuarioAutenticado != null)
            {
                return(Created("", usuarioAutenticado));
            }
            else
            {
                return(Forbid());
            }
        }
コード例 #2
0
        public async Task <ActionResult> Login(LoginModel dto)
        {
            // recibe los datos del elemento
            try
            {
                if (!TryValidateModel(dto, nameof(LoginModel)))
                {
                    return(View(dto));
                }

                IniciarSesionDTO lg = new IniciarSesionDTO()
                {
                    correo      = dto.correo,
                    contrasenia = dto.contrasenia
                };
                Usuario u = await up.IniciarSesion(lg.correo, lg.contrasenia);

                // si los datos no son correctos
                if (u == null)
                {
                    dto.loginOk = false;
                    return(View(dto));
                }

                Session["datosLogeados"] = u;
                Session["token"]         = u.persona.contrasenia;

                // si solo tiene un rol, es un usuario comun, y se le redirige a su pagina de inicio
                if (u.persona.GetRoles().Count == 1)
                {
                    return(RedirectToAction("Index", "Usuario"));
                }

                //redirige al inicio
                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                // redirigir segun ele rror
                // Llama a la funcion de este controlador (no es una ruta)
                Session.Remove("datosLogeados");
                return(View());
            }
        }
コード例 #3
0
        public async Task <Usuario> IniciarSesion(string correo, string contrasenia)
        {
            try
            {
                IniciarSesionDTO ins = new IniciarSesionDTO()
                {
                    correo      = correo,
                    contrasenia = contrasenia
                };

                HttpResponseMessage response = await client.PostAsJsonAsync(basePath + "IniciarSesion", ins);

                response.EnsureSuccessStatusCode();

                return(await response.Content.ReadAsAsync <Usuario>());
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #4
0
        public Usuario IniciarSesion([FromBody] IniciarSesionDTO dto)
        {
            try
            {
                Usuario u = blu.IniciarSesion(dto.correo, dto.contrasenia);

                if (u == null)
                {
                    return(null);
                }
                u.persona.contrasenia = null;

                var token = TokenGenerator.GenerateTokenJwt(u);
                u.persona.contrasenia = token;

                return(u);
            }
            catch (Exception e)
            {
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message));
            }
        }