示例#1
0
        private void ClienteLoginIcon_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            ClienteLogin clienteLogin = new ClienteLogin();

            clienteLogin.Show();
            this.Close();
        }
        public async Task <bool> Login(ClienteLogin model)
        {
            if (model == null)
            {
                return(false);
            }

            var loginJson = new StringContent(JsonSerializer.Serialize(model), Encoding.UTF8, "application/json");
            var response  = await this._httpClient.PostAsync($"login", loginJson).ConfigureAwait(false);

            var loginResult = await JsonSerializer.DeserializeAsync <LoginResult>(
                await response.Content.ReadAsStreamAsync().ConfigureAwait(false),
                new JsonSerializerOptions()
            {
                PropertyNameCaseInsensitive = true
            }).ConfigureAwait(false);

            loginJson.Dispose();

            if (!response.IsSuccessStatusCode)
            {
                return(false);
            }

            await this._localStorage.SetItemAsync("authToken", loginResult.Token).ConfigureAwait(false);

            ((ApiAuthenticationStateProvider)this._authenticationStateProvider).MarkUserAsAuthenticated(model.Email);
            this._httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", loginResult.Token);

            return(true);
        }
示例#3
0
        public async Task <DtoResponse <ClienteJwt> > LogarCliente(ClienteLogin usuarioLogin, IToken token)
        {
            var usuarios = await _usuarioRepository.Filter(x => x.CpfMatricula == usuarioLogin.Cpf);

            if (usuarios == null || usuarios.Count() == 0)
            {
                return(new DtoResponse <ClienteJwt>("Usuário/Senha Inválido"));
            }

            var usuario = usuarios.First();

            if (usuario.Senha != usuarioLogin.Senha)
            {
                return(new DtoResponse <ClienteJwt>("Usuário/Senha Inválido"));
            }

            return(new DtoResponse <ClienteJwt>(new ClienteJwt()
            {
                id = usuario.Id,
                Nome = usuario.Nome,
                Cpf = usuario.CpfMatricula,
                TipoUsuario = usuario.TipoUsuario.ToString(),
                Token = token.GerarToken(usuario)
            }));
        }
示例#4
0
        public IActionResult GetClienteByCPF([FromBody] ClienteLogin clienteEnviado)
        {
            try
            {
                if (!new ValidationFields().ValidateCpf(clienteEnviado.Cpf) || clienteEnviado.Cpf == null)
                {
                    return(BadRequest("CPF inválido! Tente novamente."));
                }
                else
                {
                    var resposta = new ClienteAplicacao(_context).GetClienteByCPF(clienteEnviado.Cpf);

                    if (resposta != null)
                    {
                        if (resposta.Senha != clienteEnviado.Senha)
                        {
                            return(BadRequest("CPF e/ou senha inválidos"));
                        }
                        else
                        {
                            var clienteResposta = JsonConvert.SerializeObject(resposta);
                            return(Ok(clienteResposta));
                        }
                    }
                    else
                    {
                        return(BadRequest("Usuário não encontrado!"));
                    }
                }
            }
            catch (Exception)
            {
                return(BadRequest("Erro ao comunicar com a base de dados!"));
            }
        }
示例#5
0
        public object PostAut(ClienteLogin clientelogin)
        {
            DataTable table = new DataTable();


            string query = @"select * from dbo.ClienteLogin where RFC ='" + clientelogin.RFC + "' and Contra='" + clientelogin.Contra + "'";

            using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["Prolapp"].ConnectionString))
                using (var cmd = new SqlCommand(query, con))
                    using (var da = new SqlDataAdapter(cmd))
                    {
                        cmd.CommandType = CommandType.Text;
                        da.Fill(table);
                        if (table.Rows.Count > 0)
                        {
                            //var secretKey = ConfigurationManager.AppSettings["JWT_SECRET_KEY"];
                            var            secretKey          = "RiztekTKey123456";
                            var            audienceToken      = ConfigurationManager.AppSettings["JWT_AUDIENCE_TOKEN"];
                            var            issuerToken        = ConfigurationManager.AppSettings["JWT_ISSUER_TOKEN"];
                            var            expireTime         = ConfigurationManager.AppSettings["JWT_EXPIRE_MINUTES"];
                            var            securityKey        = new SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(secretKey));
                            var            signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);
                            ClaimsIdentity claimsIdentity     = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "Ivan2019") });
                            IdentityModelEventSource.ShowPII = true;

                            var tokenhandler     = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler();
                            var jwtSecurityToken = tokenhandler.CreateJwtSecurityToken(
                                audience: audienceToken,
                                issuer: issuerToken,
                                subject: claimsIdentity,
                                notBefore: DateTime.UtcNow,
                                expires: DateTime.UtcNow.AddMinutes(1),
                                signingCredentials: signingCredentials
                                );
                            var jwtTokenString = tokenhandler.WriteToken(jwtSecurityToken);

                            DataTable table2 = new DataTable();
                            var       RFC    = table.Rows[0].Field <string>("RFC");
                            string    format = "yyyy-MM-dd HH:mm:ss";
                            var       fecha  = DateTime.Now;
                            string    query2 = @"insert into loginclientes values('" + RFC + "','" + jwtTokenString + "','" + fecha.ToLocalTime().ToString(format) + "','Dispositivo');";
                            using (var cmd2 = new SqlCommand(query2, con))

                                using (var da2 = new SqlDataAdapter(cmd2))
                                {
                                    cmd2.CommandType = CommandType.Text;
                                    da2.Fill(table2);
                                }

                            return(jwtTokenString);
                            // return jwtTokenString;
                        }
                        else
                        {
                            return("Error");
                        }
                    }
        }
 public IActionResult Create([FromBody] ClienteLogin Login)
 {
     if (Login == null)
     {
         return(BadRequest());
     }
     _clienteLoginRepositorio.AddClienteLogin(Login);
     return(new ObjectResult(new Conta()));
 }
示例#7
0
 public Cuenta(CuentaConf _cuenta_configuracion)
 {
     cuenta_configuracion = _cuenta_configuracion;
     servidor_id          = cuenta_configuracion.get_Servidor_Id();
     logger          = new Logger();
     pelea           = new Pelea(this);
     pelea_extension = new PeleaExtensiones(this);
     conexion        = new ClienteLogin(IPAddress.Parse(GlobalConf.ip_conexion), GlobalConf.puerto_conexion, this);
 }
 public ActionResult Login(ClienteLogin model)
 {
     if (!base.ModelState.IsValid)
     {
         return(base.View(model));
     }
     if (model.Nome == "Caique" && model.Senha == "123")
     {
         return(base.RedirectToAction("Opcoes"));
     }
     return(base.RedirectToAction("Loguin"));
 }
 public async Task <ActionResult> ClienteLogin(ClienteLogin userLogin)
 {
     try
     {
         return(StatusCode(200, await _usuarioService.LogarCliente(userLogin, new Token())));
     }
     catch (UsuarioNotFound err)
     {
         return(StatusCode(401, new
         {
             Message = err.Message
         }));
     }
 }
 public ActionResult Login(ClienteLogin model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     if (model.Nome == "Caique" && model.Senha == "123")
     {
         return(RedirectToAction("Inserir"));
     }
     else
     {
         return(RedirectToAction("Loguin"));
     }
 }
 //Adicionar Cliente Logado
 public static bool AdicionarCliente(Cliente cliente)
 {
     try {
         ClienteLogin login = new ClienteLogin();
         login.Cliente          = cliente;
         login.DataHorarioLogin = DateTime.Now;
         login.Sessao           = RetornarIdSessao();
         entities.ClienteLogin.Add(login);
         entities.SaveChanges();
         return(true);
     }
     catch (Exception e) {
         return(false);
     }
 }
示例#12
0
        public async Task <IActionResult> Login(ClienteLogin model)
        {
            var email = model.Email.Trim().ToUpperInvariant();

            var cliente = await this._context.Clientes
                          .FirstOrDefaultAsync(a => a.Email == email)
                          .ConfigureAwait(false);

            if (cliente == null)
            {
                return(this.NotFound());
            }

            if (!this._passwordHelper.VerificarPasswordHash(model.Password, cliente.PasswordHash))
            {
                return(this.NotFound());
            }

            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, cliente.Id.ToString(CultureInfo.InvariantCulture)),
                new Claim(ClaimTypes.Email, cliente.Email),
                new Claim(ClaimTypes.Role, "Cliente"),
                new Claim("Id", cliente.Id.ToString(CultureInfo.InvariantCulture)),
                new Claim("Rol", "Cliente"),
                new Claim("Username", cliente.Email),
            };

            var carrito = await this._context.Carritos
                          .Where(c => c.Estado && c.ClienteGuid == this._cookieHelper.GetRequestIP())
                          .FirstOrDefaultAsync().ConfigureAwait(false);

            if (carrito != null)
            {
                carrito.ClienteGuid = null;
                carrito.ClienteId   = cliente.Id;
                await this._context.SaveChangesAsync().ConfigureAwait(false);
            }

            return(this.Ok(
                       new { token = this._tokenHelper.GenerarToken(claims, 60 * 24 * 5) }
                       ));
        }
示例#13
0
        public IActionResult Token([FromBody] ClienteLogin request)
        {
            var findConta    = _contaRep.FindByNumC(request.cpf);
            var findNumConta = _contaRep.FindByConta(findConta);

            if (findNumConta.flagAtivo == -1)
            {
                return(BadRequest());
            }
            else
            {
                var cli = _clienteLoginRepositorio.FindByCpf(request.cpf);
                if (cli != null && cli.senhaAcesso == request.senhaAcesso)
                {
                    var claims = new[]
                    {
                        new Claim(ClaimTypes.Name, request.cpf)
                    };

                    IdentityModelEventSource.ShowPII = true;

                    var key = new SymmetricSecurityKey(
                        Encoding.UTF8.GetBytes(_configuration["SecurityKey"]));

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

                    var token = new JwtSecurityToken(
                        issuer: "InternetBanking.net",
                        audience: "InternetBanking.net",
                        claims: claims,
                        expires: DateTime.Now.AddMinutes(30),
                        signingCredentials: creds);
                    return(Ok(new
                    {
                        token = new JwtSecurityTokenHandler().WriteToken(token)
                    }));
                }
            }
            return(BadRequest("Credenciais Inválidas..."));
        }
示例#14
0
        public IActionResult Update(string cpf, [FromBody] ClienteLogin conta)
        {
            int  numeroConta     = _contaRepositorio.FindByNumC(cpf);
            var  _conta          = _contaRepositorio.FindByConta(numeroConta);
            bool contaVerificada = _contaRepositorio.VerifyAccount(_conta);
            var  senha           = _login.FindByCpf(cpf);

            DateTime alteracaoStatus;

            if (conta.senhaAcesso == senha.senhaAcesso)
            {
                try
                {
                    if (contaVerificada)
                    {
                        _conta.flagAtivo = -1;
                        _contaRepositorio.Update(_conta);

                        alteracaoStatus = DateTime.Now;

                        _contaRepositorio.Status(alteracaoStatus, _conta.flagAtivo, numeroConta);
                    }
                    else
                    {
                        return(BadRequest());
                    }
                }
                catch (Exception e)
                {
                    return(new ObjectResult(e));
                }

                return(new NoContentResult());
            }
            else
            {
                return(BadRequest());
            }
        }
        public IActionResult Update([FromBody] ClienteLogin clienteLogin, string cpf)
        {
            if (clienteLogin == null)
            {
                return(NotFound());
            }

            var _clienteLogin = _clienteLoginRepositorio.FindByCpf(cpf);

            if (clienteLogin.antigaSenha == _clienteLogin.senhaAcesso)
            {
                if (_clienteLogin.senhaAcesso != clienteLogin.novaSenha)
                {
                    _clienteLogin.senhaAcesso = clienteLogin.novaSenha;

                    _clienteLoginRepositorio.Update(_clienteLogin);
                    return(new NoContentResult());
                }
            }

            return(new NotFoundResult());
        }
示例#16
0
 public int Relacionar(ClienteLogin clienteLogin)
 {
     context.ClientesLogins.Add(clienteLogin);
     context.SaveChanges();
     return(clienteLogin.Id);
 }
示例#17
0
 public void Update(ClienteLogin clienteLogin)
 {
     _contexto.ClienteLogin.Update(clienteLogin);
     _contexto.SaveChanges();
 }
示例#18
0
 public void AddClienteLogin(ClienteLogin clienteLogin)
 {
     _contexto.ClienteLogin.Add(clienteLogin);
     _contexto.SaveChanges();
 }