Esempio n. 1
0
        public IActionResult UserLogin([FromForm] UsuarioConsultaDto objUsuarioConsultaDto)
        {
            objUsuarioConsultaDto.Password = Encriptador.Encriptar(objUsuarioConsultaDto.Password);
            if (string.IsNullOrWhiteSpace(objUsuarioConsultaDto.Password))
            {
                ViewBag.Error = "Ingrese Usuario o Contraseña";
                return(View("Index"));
            }
            HttpContext.Session.SetString("Usu", objUsuarioConsultaDto.Usuarios);
            HttpContext.Session.SetString("Pas", objUsuarioConsultaDto.Password);
            try
            {
                objUsuarioConsultaDto = _Usuario.UsuarioLogin(objUsuarioConsultaDto);
                if (string.IsNullOrEmpty(objUsuarioConsultaDto.Correo))
                {
                    ViewBag.Error = "Usuario o Contraseña Incorrecto";
                    UsuarioLoginDto objUsuarioLoginDto = new UsuarioLoginDto();
                    objUsuarioLoginDto.Tipo = "Login";
                    return(View("Index", objUsuarioLoginDto));
                }


                GenerateTicketAuthentication(objUsuarioConsultaDto);
                Log.Information("INICIO");
                HttpContext.Session.SetString("_TipoEmpresa", GetPerfil());
                // HttpContext.Session.SetString("_TipoEmpresa",objUsuarioConsultaDto.TipoEmpresa);
                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                ViewBag.Error = "Usuario o Contraseña Incorrecto";
                return(View("Index"));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Login(UsuarioLoginDto usuarioLoginDto)
        {
            try
            {
                var usuario = await _usuarioManager.FindByEmailAsync(usuarioLoginDto.Email.ToUpper());

                var result = await _signInManager.CheckPasswordSignInAsync(usuario, usuarioLoginDto.Senha, false);

                if (!result.Succeeded)
                {
                    return(Unauthorized());
                }

                var appUsuario = await _usuarioManager.Users
                                 .FirstOrDefaultAsync(u => u.NormalizedUserName == usuarioLoginDto.Email.ToUpper());

                var pessoa = await _servicosPessoas.BuscarPessoaPorId(usuario.IdPessoa);

                return(Ok(new
                {
                    Token = GenerateJwtToken(appUsuario).Result,
                    Usuario = new
                    {
                        Nome = pessoa.Nome
                    }
                }));
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError,
                                       "Erro na autenticação!"));
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> Post([FromBody] UsuarioLoginDto usuarioLoginDto,
                                               [FromServices] SigningConfigurations signingConfigurations,
                                               [FromServices] TokenConfigurations tokenConfigurations)
        {
            var tokenDto = await _usuarioService.ValidarLogin(usuarioLoginDto);

            switch (tokenDto.SituacaoAutenticacaoUsuario)
            {
            case EnumSituacaoAutenticacaoUsuario.Autenticado:
                var name     = $"{tokenDto.Login}_PhoenixEs";
                var identity = new ClaimsIdentity(
                    new GenericIdentity(name, ApiResource.Login),
                    new[] {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, name)
                }
                    );

                var dataCriacao   = DateTime.Now;
                var dataExpiracao = dataCriacao + TimeSpan.FromSeconds(tokenConfigurations.Seconds);

                var handler       = new JwtSecurityTokenHandler();
                var securityToken = handler.CreateToken(new SecurityTokenDescriptor
                {
                    Issuer             = tokenConfigurations.Issuer,
                    Audience           = tokenConfigurations.Audience,
                    SigningCredentials = signingConfigurations.SigningCredentials,
                    Subject            = identity,
                    NotBefore          = dataCriacao,
                    Expires            = dataExpiracao
                });
                var token = handler.WriteToken(securityToken);

                tokenDto.AccessToken = token;
                tokenDto.CriadoEm    = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss");
                tokenDto.ExpiraEm    = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss");
                tokenDto.Mensagem    = ApiResource.OK;

                return(Ok(tokenDto));

            case EnumSituacaoAutenticacaoUsuario.NaoEncontrado:
                tokenDto.Mensagem = ApiResource.Usuario_nao_encontrado;
                return(NotFound(tokenDto));

            case EnumSituacaoAutenticacaoUsuario.Bloqueado:
                tokenDto.Mensagem = ApiResource.Usuario_bloqueado;
                return(Unauthorized(tokenDto));

            case EnumSituacaoAutenticacaoUsuario.SenhaInvalida:
                tokenDto.Mensagem = ApiResource.Senha_invalida;
                return(Unauthorized(tokenDto));

            case EnumSituacaoAutenticacaoUsuario.UsuarioOuSenhaNaoInformado:
                tokenDto.Mensagem = ApiResource.Usuario_ou_senha_nao_foi_informado;
                return(Unauthorized(tokenDto));

            default:
                return(BadRequest());
            }
        }
Esempio n. 4
0
        private UsuarioTokenDto BuildToken(UsuarioLoginDto usuarioDto)
        {
            var claims = new[]
            {
                new Claim(ClaimTypes.Name, usuarioDto.Nombre),
                new Claim(JwtRegisteredClaimNames.UniqueName, usuarioDto.UserName),
                new Claim("apellido", usuarioDto.Apellido),
                new Claim("idusuario", usuarioDto.IdUsuario.ToString()),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
            };

            var key        = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var creds      = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var expiration = DateTime.UtcNow.AddHours(1);

            JwtSecurityToken token = new JwtSecurityToken(
                issuer: null,
                audience: null,
                claims: claims,
                expires: expiration,
                signingCredentials: creds
                );

            return(new UsuarioTokenDto()
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token),
                Expiracion = expiration
            });
        }
Esempio n. 5
0
 public IActionResult Index()
 {
     //Comprobar si hay registros de los principales en el sistema
     try
     {
         var ok = Utils.IniciarSistema();
         _logger.LogInformation("get login initial");
         if (string.IsNullOrWhiteSpace(GetUsuarioActual()))
         {
             var modelo = new UsuarioLoginDto
             {
                 Usuarios = "",
                 Password = ""
             };
             return(View(modelo));
         }
         else
         {
             return(Redirect("/Home"));
         }
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message);
         ViewBag.Error = "No hay conexion con el servidor de datos :(";
         return(View());
     }
 }
Esempio n. 6
0
        public async Task <IActionResult> Login(UsuarioLoginDto usuarioLoginDto)
        {
            try
            {
                var usuario = await _UsuarioManager.FindByNameAsync(usuarioLoginDto.UserName);

                var result = await _signInManager.CheckPasswordSignInAsync(usuario, usuarioLoginDto.Password, false);

                if (!result.Succeeded)
                {
                    return(Unauthorized());
                }

                var appUsuario = await _UsuarioManager.Users
                                 .FirstOrDefaultAsync(u => u.NormalizedUserName == usuarioLoginDto.UserName.ToUpper());

                var usuarioToReturn = _mapper.Map <UsuarioNovoDto>(usuario);

                return(Ok(new
                {
                    Token = GenerateJwtToken(appUsuario).Result,
                    Usuario = usuarioToReturn
                }));
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError,
                                       "Erro na autenticação!"));
            }
        }
Esempio n. 7
0
        public UsuarioLoginDto ObtenerPorLogin(UsuarioCredencialesDto modelo)
        {
            UsuarioLoginDto resultado = new UsuarioLoginDto();

            try
            {
                const string query = "Seguridad.usp_Usuario_ObtenerPorLogeo";

                using (var cn = HelperClass.ObtenerConeccion())
                {
                    if (cn.State == ConnectionState.Closed)
                    {
                        cn.Open();
                    }

                    /*los alias en el parametro son opcionales si la propiedad del modelo tiene la misma denominacion*/
                    resultado = cn.QuerySingleOrDefault <UsuarioLoginDto>(query, new
                    {
                        UserName = modelo.Usuario,
                        modelo.Contrasenia
                    }, commandType: CommandType.StoredProcedure);
                }
            }
            catch (Exception ex)
            {
                Log(Level.Error, (ex.InnerException == null ? ex.Message : ex.InnerException.Message));
            }
            return(resultado);
        }
Esempio n. 8
0
        private ResponseUsuarioLoginDto BuildToken(UsuarioLoginDto usuarioDto)
        {
            //var claims = new[]
            //{
            //    new Claim(ClaimTypes.Name, usuarioDto.Nombre),
            //    new Claim(JwtRegisteredClaimNames.UniqueName, usuarioDto.CorreoElectronico),
            //    new Claim("apellido", usuarioDto.Apellido),
            //    new Claim("idusuario", usuarioDto.IdUsuario.ToString()),
            //    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
            //};
            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Name, usuarioDto.Nombre),
                new Claim(JwtRegisteredClaimNames.UniqueName, usuarioDto.CorreoElectronico),
                new Claim("apellido", usuarioDto.Apellido),
                new Claim("idusuario", usuarioDto.IdUsuario.ToString()),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
            };

            if (usuarioDto.ListaRol == null)
            {
                usuarioDto.ListaRol = new List <RolObtenerPorIdUsuarioDto>();
            }
            if (usuarioDto.ListaRol.Any())
            {
                foreach (var item in usuarioDto.ListaRol)
                {
                    claims.Add(new Claim(ClaimTypes.Role, item.Descripcion));
                }
            }
            else
            {
                claims.Add(new Claim(ClaimTypes.Role, "Ninguno"));
            }

            var key        = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var creds      = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var expiration = DateTime.UtcNow.AddHours(1);
            //var expiration = DateTime.UtcNow.AddMinutes(1);

            JwtSecurityToken token = new JwtSecurityToken(
                issuer: null,
                audience: null,
                claims: claims,
                expires: expiration,
                signingCredentials: creds
                );

            return(new ResponseUsuarioLoginDto()
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token),
                Expiracion = expiration,
                IdUsuario = usuarioDto.IdUsuario,
                Nombre = usuarioDto.Nombre,
                Apellido = usuarioDto.Apellido,
                CorreoElectronico = usuarioDto.CorreoElectronico,
                UrlImagen = usuarioDto.UrlImagen
            });
        }
Esempio n. 9
0
        public async Task <JsonResponseAutenticacionUsuario> AutenticacionLogin(LoginModel model)
        {
            var obj = new UsuarioLoginDto
            {
                CodigoUsuario = model.CodigoUsuario,
                ClaveSecreta  = model.ClaveSecreta
            };

            return(await requestclient.PostAsync <JsonResponseAutenticacionUsuario>(Constante.Api.Login.AutentificacionUsuario, obj));
        }
Esempio n. 10
0
        public async Task <ActionResult <TokenUsuarioDto> > Autenticar([FromBody] UsuarioLoginDto usuarioLogin)
        {
            var token = await _servicoUsuario.Autenticar(usuarioLogin.Email, usuarioLogin.Senha);

            if (token == null)
            {
                return(BadRequest(new { message = "Credenciais inválidas" }));
            }

            return(Ok(token));
        }
Esempio n. 11
0
        public async Task <IActionResult> GerarToken([FromBody] UsuarioLoginDto usuarioLoginDto, TipoUsuario tipoUsuario)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var resultado = await _authenticantionService.GerarJwt(usuarioLoginDto);

            return(CustomResponse(resultado));
        }
Esempio n. 12
0
        public ActionResult Login(UsuarioLoginDto usuarioDto)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var usuario = _usuarioRepository.Get(u => u.NomeUsuario == usuarioDto.NomeUsuario && u.Senha == usuarioDto.Senha);
                    if (usuario != null)
                    {
                        var customPrincripal = new CustomPrincipalSerializeModel()
                        {
                            UsuarioId = usuario.Id,
                            Nome      = usuario.Nome,
                            Sobrenome = usuario.NomeUsuario == usuario.NomeUsuario.Substring(usuario.NomeUsuario.IndexOf(usuario.NomeUsuario), usuario.NomeUsuario.Length).Trim() ? string.Empty : usuario.NomeUsuario.Substring(usuario.NomeUsuario.IndexOf(usuario.NomeUsuario), usuario.NomeUsuario.Length).Trim(),
                            Roles     = usuario.NivelAcesso.Tipo
                        };

                        System.Web.HttpContext.Current.Session.Add("__USUARIO__", customPrincripal);
                        var userData   = JsonConvert.SerializeObject(customPrincripal);
                        var authTicket = new FormsAuthenticationTicket(
                            1,
                            usuario.Email,
                            DateTime.Now,
                            DateTime.Now.AddMinutes(60),
                            usuarioDto.LembrarMe,
                            userData);

                        var encTicket = FormsAuthentication.Encrypt(authTicket);
                        var faCookie  = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                        Response.Cookies.Add(faCookie);

                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Usuário e/ou senha incorretos";
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = "Ocorreu um erro ao tentar realizar o login";
                }
            }
            catch (Exception ex)
            {
                throw new HttpException(ex.Message);
            }

            return(View("Login"));
        }
Esempio n. 13
0
        public IActionResult Post(
            [FromBody] UsuarioLoginDto usuario,
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations)
        {
            bool credenciaisValidas = false;

            if (usuario == null || string.IsNullOrEmpty(usuario.Login))
            {
                return(this.BadRequest("Usuário não informado."));
            }

            UsuarioDto usuarioBase = this.UsuarioService.ObterUsuarioPorEmail(usuario.Login);

            credenciaisValidas = (usuarioBase != null && usuario.Login == usuarioBase.Email && usuario.Senha == usuarioBase.ChaveAcesso);

            if (!credenciaisValidas)
            {
                return(this.Forbid());
            }

            ClaimsIdentity identity = new ClaimsIdentity(
                new GenericIdentity(usuario.Login, "Login"),
                new[] {
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                new Claim(JwtRegisteredClaimNames.UniqueName, usuario.Login)
            }
                );

            DateTime dataCriacao   = DateTime.Now;
            DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(tokenConfigurations.Seconds);

            var handler       = new JwtSecurityTokenHandler();
            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = tokenConfigurations.Issuer,
                Audience           = tokenConfigurations.Audience,
                SigningCredentials = signingConfigurations.SigningCredentials,
                Subject            = identity,
                NotBefore          = dataCriacao,
                Expires            = dataExpiracao
            });

            var token = handler.WriteToken(securityToken);

            var result = new Framework.Domain.Dtos.ResponseTokenDto(true, dataCriacao, dataExpiracao, token);

            return(this.Ok(result));
        }
Esempio n. 14
0
        public UsuarioAuthenticationDto Authentication(UsuarioLoginDto dto, SigningConfigurations signingConfigurations, TokenConfigurations tokenConfigurations)
        {
            var usuario = GetById(dto.Usuario);

            CryptographyHelper cryptHelper = new CryptographyHelper();
            bool authenticated             = cryptHelper.VerifyPassword(dto.Senha, usuario.Senha);

            if (authenticated)
            {
                ClaimsIdentity identity = new ClaimsIdentity(
                    new GenericIdentity(usuario.Usuario, "Login"),
                    new[] {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, usuario.Usuario)
                }
                    );

                DateTime dataCriacao   = DateTime.Now;
                DateTime dataExpiracao = dataCriacao +
                                         TimeSpan.FromSeconds(tokenConfigurations.Seconds);

                var handler       = new JwtSecurityTokenHandler();
                var securityToken = handler.CreateToken(new SecurityTokenDescriptor
                {
                    Issuer             = tokenConfigurations.Issuer,
                    Audience           = tokenConfigurations.Audience,
                    SigningCredentials = signingConfigurations.SigningCredentials,
                    Subject            = identity,
                    NotBefore          = dataCriacao,
                    Expires            = dataExpiracao
                });
                var token = handler.WriteToken(securityToken);

                return(new UsuarioAuthenticationDto
                {
                    authenticated = true,
                    message = "OK",
                    created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"),
                    expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"),
                    accessToken = token,
                    usuario = usuario.Usuario,
                });
            }
            else
            {
                throw new Exception("Falha ao autenticar");
            }
        }
Esempio n. 15
0
        public async Task <ActionResult> Login([FromBody] UsuarioLoginDto model)
        {
            var oUsuarioLoginDto = await _iLoginService.GetLogin(model.UsuarioId, model.Contrasenia);

            var oUsuarioDto = _mapper.Map <UsuarioDto>(oUsuarioLoginDto);

            if (!string.IsNullOrEmpty(oUsuarioLoginDto.UsuarioId))
            {
                var oJwtHelper = new JwtHelper(_configuration);
                return(Ok(oJwtHelper.BuildToken(oUsuarioDto)));
            }
            else
            {
                return(BadRequest("Username or password invalid"));
            }
        }
Esempio n. 16
0
        // LOGAR USUARIO
        public async Task <Usuario> Login(UsuarioLoginDto usuarioLoginDto)
        {
            var usuario = await _userManager.FindByEmailAsync(usuarioLoginDto.Email);

            var usuarioLogado = await _signInManager.CheckPasswordSignInAsync(usuario, usuarioLoginDto.Password, false);

            if (usuarioLogado.Succeeded)
            {
                var appUser = await _userManager.Users.FirstOrDefaultAsync(u => u.Email == usuarioLoginDto.Email);

                var userLoginDto = _map.Map <Usuario>(appUser);

                return(userLoginDto);
            }
            throw new UnauthorizedAccessException("Email ou Senha Incorretos!");
        }
Esempio n. 17
0
 public IActionResult Login([FromQuery] UsuarioLoginDto user)
 {
     try {
         var UserLogin = _queriesUser.VerificarUsuario(user.Login, user.Senha);
         if (UserLogin != null)
         {
             return(Ok(new { Token = JwtService.GenerateToken(UserLogin, _config), User = UserLogin }));
         }
         else
         {
             return(Ok("Usuario não existe"));
         }
     } catch (Exception ex) {
         return(Ok(ex));
     }
 }
Esempio n. 18
0
        public async Task <IActionResult> Login([FromBody] UsuarioLoginDto usuarioLoginDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (usuarioLoginDto == null)
            {
                return(Unauthorized());
            }

            var usuarioLogin = new Usuario {
                CodUsuario = usuarioLoginDto.CodUsuario
            };

            var usuarioGrupoUsuario = new UsuarioGrupoUsuario {
                GrupoUsuarioId = usuarioLoginDto.GrupoUsuarioId
            };

            var userFromRepo = await _usuario.LoginUsuario(usuarioLoginDto.Contrasena, usuarioLogin, usuarioGrupoUsuario);

            if (userFromRepo == null)
            {
                return(Unauthorized());
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(_configuration.GetSection("AppSettings:Token").Value);
            var tokenDescriptor = new SecurityTokenDescriptor {
                Subject = new ClaimsIdentity(new Claim[] {
                    new Claim(ClaimTypes.NameIdentifier, userFromRepo.Id.ToString()),
                    new Claim(ClaimTypes.Name, userFromRepo.CodUsuario),
                    new Claim(ClaimTypes.Role, usuarioLoginDto.GrupoUsuarioId.ToString())
                }),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
                                                            SecurityAlgorithms.HmacSha512Signature)
            };

            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var tokenString = tokenHandler.WriteToken(token);

            return(Ok(new { tokenString }));
        }
        public async Task <IActionResult> Autenticar([FromBody] UsuarioLoginDto login)
        {
            if (login == null)
            {
                return(BadRequest());
            }

            var identity = await GetClaimsIdentity(login.Usuario, login.Password);

            if (identity == null)
            {
                return(BadRequest());
            }

            var jwt = await Tokens.GenerateJwt(identity, _jwtFactory, login.Usuario, _jwtOptions, new JsonSerializerSettings { Formatting = Formatting.Indented });

            return(new OkObjectResult(jwt));
        }
Esempio n. 20
0
 public IActionResult RecuperarUsuario([FromForm] UsuarioConsultaDto objUsuarioConsultaDto)
 {
     if (string.IsNullOrWhiteSpace(objUsuarioConsultaDto.Usuarios))
     {
         ViewBag.Error = "Ingrese Usuario o correo";
         return(View("Index"));
     }
     try
     {
         objUsuarioConsultaDto = _Usuario.UsuarioRecuperar(objUsuarioConsultaDto);
         if (string.IsNullOrEmpty(objUsuarioConsultaDto.Correo))
         {
             ViewBag.Error = "Usuario o correo no registrado";
             return(View("Index"));
         }
         ParametrosCorreoDto parametrosCorreoDto = new ParametrosCorreoDto();
         parametrosCorreoDto.IdEmpresa = objUsuarioConsultaDto.IdEmpresa;
         parametrosCorreoDto           = _Empresa.ConsultaParametrosCorreo(parametrosCorreoDto);
         if (string.IsNullOrEmpty(parametrosCorreoDto.Correo))
         {
             ViewBag.Error = "Falta de configuracion en el emsior de correos, comuniquece con el administrador";
             UsuarioLoginDto objUsuarioLoginDto = new UsuarioLoginDto();
             objUsuarioLoginDto.Tipo     = "Recuperar";
             objUsuarioLoginDto.Password = "******";
             objUsuarioLoginDto.Usuarios = "   ";
             return(View("Index", objUsuarioLoginDto));
         }
         objUsuarioConsultaDto.Password = Encriptador.Desencriptar(objUsuarioConsultaDto.Password);
         EnviarCorreoUsuarioRecuperado(parametrosCorreoDto, objUsuarioConsultaDto);
         ViewBag.Success = "Se ha recuperado su usuario, revise su correo personal";
         UsuarioLoginDto objUsuarioLoginDtos = new UsuarioLoginDto();
         objUsuarioLoginDtos.Tipo     = "Recuperar";
         objUsuarioLoginDtos.Password = "******";
         objUsuarioLoginDtos.Usuarios = "   ";
         return(View("Index", objUsuarioLoginDtos));
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message);
         ViewBag.Error = "Usuario o Contraseña Incorrecto";
         return(View("Index"));
     }
 }
Esempio n. 21
0
        public IActionResult Index()
        {
            //Comprobar si hay registros de los principales en el sistema
            var ok = Utils.IniciarSistema();

            Log.Information("ok");
            if (string.IsNullOrWhiteSpace(GetUsuarioActual()))
            {
                var modelo = new UsuarioLoginDto
                {
                    Usuarios = "",
                    Password = ""
                };
                return(View(modelo));
            }
            else
            {
                return(Redirect("/Home"));
            }
        }
Esempio n. 22
0
        public async Task <IActionResult> Login(UsuarioLoginDto usuarioLoginDto)
        {
            try
            {
                var usuarioLogado = await _service.Login(usuarioLoginDto);

                return(Ok(new {
                    token = _service.GerarToken(usuarioLogado).Result,
                    usuario = usuarioLoginDto
                }
                          ));
            }
            catch (UnauthorizedAccessException e)
            {
                return(Unauthorized($"{e.Message}"));
            }
            catch (ArgumentException e)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"{e.Message}"));
            }
        }
 public ActionResult <UsuarioDataDto> ValidarIngreso([FromBody] UsuarioLoginDto UsuarioLogin)
 {
     try
     {
         UsuarioDataDto usuarioData = _usuarioService.GetDatosUsuario(UsuarioLogin.Dni, UsuarioLogin.Contrasena);
         var            usuarioGen  = new
         {
             usuariotoken = GenerateToken(usuarioData).Result,
             usuario      = usuarioData
         };
         return(Ok(usuarioGen));
     }
     catch (UserLoginIncorrectException UserIncorrect)
     {
         return(BadRequest(UserIncorrect.ExceptionDto));
     }
     catch (UserLoginNotFoundException UserNotFound)
     {
         return(BadRequest(UserNotFound.ExceptionDto));
     }
 }
Esempio n. 24
0
        public async Task <TokenDto> ValidarLogin(UsuarioLoginDto usuarioLoginDto)
        {
            if (string.IsNullOrEmpty(usuarioLoginDto?.Usuario) || string.IsNullOrEmpty(usuarioLoginDto.Senha))
            {
                return new TokenDto
                       {
                           SituacaoAutenticacaoUsuario = EnumSituacaoAutenticacaoUsuario.UsuarioOuSenhaNaoInformado
                       }
            }
            ;


            var usuario = await _usuarioRepository.GetByLogin(usuarioLoginDto.Usuario);

            if (usuario == null)
            {
                return new TokenDto
                       {
                           SituacaoAutenticacaoUsuario = EnumSituacaoAutenticacaoUsuario.NaoEncontrado
                       }
            }
            ;


            if (!usuario.Senha.Equals(usuarioLoginDto.Senha))
            {
                return new TokenDto
                       {
                           SituacaoAutenticacaoUsuario = EnumSituacaoAutenticacaoUsuario.SenhaInvalida
                       }
            }
            ;

            return(new TokenDto
            {
                SituacaoAutenticacaoUsuario = EnumSituacaoAutenticacaoUsuario.Autenticado,
                Nome = usuario.Nome,
                Login = usuario.Login
            });
        }
Esempio n. 25
0
        public async Task <IActionResult> Login(UsuarioLoginDto usuarioLoginDto)
        {
            var usuarioRepo = await _repo.Login(usuarioLoginDto.Login.ToLower(), usuarioLoginDto.Senha);

            if (usuarioRepo == null)
            {
                return(Unauthorized());
            }

            var claims = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, usuarioRepo.Id.ToString()),
                new Claim(ClaimTypes.Name, usuarioRepo.Login)
            };

            var key = new SymmetricSecurityKey(Encoding.UTF8
                                               .GetBytes(_config.GetSection("AppSettings:Token").Value));

            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            var usuario = _mapper.Map <Usuario>(usuarioRepo);

            return(Ok(new
            {
                token = tokenHandler.WriteToken(token),
                usuario
            }));
        }
Esempio n. 26
0
        public async Task <UsuarioJwtDto> GerarJwt(UsuarioLoginDto usuarioLoginDto)
        {
            if (await EmailExiste(usuarioLoginDto.Email))
            {
            }
            var result = await _signInManager.PasswordSignInAsync(usuarioLoginDto.Email, usuarioLoginDto.Senha,
                                                                  false, true);

            if (result.Succeeded)
            {
                return(await _JWTService.GerarJwt(usuarioLoginDto.Email));
            }

            if (result.IsLockedOut)
            {
                Notificar("Usuário temporariamente bloqueado por tentativas inválidas");
                return(null);
            }

            Notificar("Usuário e/ou senha incorretos");
            return(null);
        }
Esempio n. 27
0
        public IActionResult Login([FromBody] UsuarioLoginDto dto)
        {
            if (dto == null)
            {
                return(Unauthorized());
            }


            if (!repository.Exist(x => x.UsuarioVar == dto.UsuarioVar && x.PasswordVar == dto.PasswordVar && x.IsActiveBit == true))
            {
                return(Unauthorized());
            }

            var user = repository.GetByValues(x => x.UsuarioVar == dto.UsuarioVar && x.PasswordVar == dto.PasswordVar).FirstOrDefault();

            var claims = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, user.UsuarioIdInt.ToString()),
                new Claim(ClaimTypes.Name, user.UsuarioVar.ToString())
            };

            var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(config.GetSection("AppSettings:Token").Value));
            var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = credentials
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(Ok(new
            {
                token = tokenHandler.WriteToken(token)
            }));;
        }
Esempio n. 28
0
 public object Authentication([FromBody] UsuarioLoginDto dto, [FromServices] SigningConfigurations signingConfigurations, [FromServices] TokenConfigurations tokenConfigurations)
 {
     return(_business.Authentication(dto, signingConfigurations, tokenConfigurations));
 }
Esempio n. 29
0
        public async Task <IActionResult> Login(UsuarioLoginDto usuarioLoginDto)
        {
            Usuario usuario = null;

            string claveEncrypt = usuarioLoginDto.Clave.Encrypt();

            usuario = await _service.Login(usuarioLoginDto.NombreUsuario, claveEncrypt);

            if (usuario == null)
            {
                return(StatusCode(Status.Unauthorized, new
                {
                    error = "El nombre de usuario o la clave ha sido indicado de manera incorrecta"
                }));
            }

            if (!usuario.Activo)
            {
                return(StatusCode(Status.Unauthorized, new
                {
                    error = "El usuario ha sido desactivado"
                }));
            }

            var cacheExpirationOptions =
                new MemoryCacheEntryOptions
            {
                AbsoluteExpiration = DateTime.Now.AddMinutes(20),
                Priority           = CacheItemPriority.Normal,
                SlidingExpiration  = TimeSpan.FromMinutes(5)
            };

            _memoryCache.Set("cUsuario", usuario, cacheExpirationOptions);

            var claims = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, usuario.Guid.ToString()),
                new Claim(ClaimTypes.Name, usuario.NombreUsuario)
            };

            var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value));

            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var claimsIdentity = new ClaimsIdentity(claims);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = claimsIdentity,
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(StatusCode(Status.OK, new
            {
                token = tokenHandler.WriteToken(token),
                usuario
            }));
        }
Esempio n. 30
0
 public UsuarioInfoDto ValidarLogin(UsuarioLoginDto usuarioLogin)
 {
     throw new NotImplementedException();
 }