Como autenticar usuários do servidor SMPP com um banco de dados
Quando você opera seu próprio serviço de SMS, pode querer armazenar informações do usuário em seu servidor de banco de dados. Essas informações podem ser usadas para autenticar usuários que tentam acessar seu servidor por vários canais. Por exemplo, você pode autenticar conexões de clientes SMPP, conexões de API HTTP, clientes de SMS UCP ou CIMD2 com o mesmo banco de dados de usuários. Este guia fornece instruções passo a passo sobre como configurar a autenticação de usuários por banco de dados para uma configuração de servidor SMPP. Os passos são similares para outros canais de serviço que você pode configurar. Você pode usar Microsoft SQL Server, MySQL, Oracle ou qualquer outro servidor de banco de dados.
Visão geral
Se você armazena as informações dos usuários do seu servidor de SMS SMPP em uma tabela de banco de dados, precisa seguir estes passos para configurar o gateway de SMS Ozeki 10 para consultar seu banco de dados quando um cliente SMPP tentar se conectar, a fim de decidir se ele está autorizado a usar seu serviço.
- Abra o painel de controle
- Crie uma conexão com o banco de dados
- Escolha as consultas SQL
- Selecione o tipo de banco de dados
- Insira os detalhes de login do banco de dados
- Crie um novo provedor de autenticação
- Escreva a consulta SQL SELECT para verificar o usuário
- Abra o aplicativo SMS Gateway
- Clique em Avançado na barra de ferramentas
- Selecione a configuração do servidor SMPP
- Abra a aba avançada
- Selecione o provedor de autenticação do banco de dados
Passo 1 - Criar conexão com o banco de dados no Ozeki SMS Gateway
O primeiro passo é abrir o aplicativo Painel de Controle no Ozeki SMS Gateway. Navegue até a área de trabalho do Ozeki SMS Gateway e, como você pode ver na Figura 1, abra o Painel de Controle clicando em seu ícone.
Agora você deve estar na página principal do Painel de Controle, onde pode criar, modificar ou excluir conexões. Clique no botão azul Criar nova conexão e selecione Aplicação na caixa que aparece no lado direito da tela (Figura 2).
Neste exemplo, usaremos o banco de dados MySQL para armazenar os detalhes do usuário para o Provedor de Autenticação. Portanto, selecione o tipo de conexão MySQL, como mostram as Figuras 3-5.
Em seguida, preencha o formulário com os detalhes da conexão. Certifique-se de fornecer o IP do servidor SQL e o número da porta. O número da porta SQL padrão geralmente é 3306. Você também precisa fornecer o nome do banco de dados onde estão seus usuários. Por fim, forneça o nome de usuário e senha do SQL e clique em 'OK' (Figura 6).
Finalmente, a conexão foi bem-sucedida, como você pode ver na Figura 7.
Passo 2 - Conectar o Provedor de Autenticação do Banco de Dados ao banco de dados SQL
Neste passo, definiremos uma consulta SELECT na tabela SQL. Esta consulta SELECT será chamada quando uma tentativa de login ocorrer. Ela verifica a tabela de usuários em busca de usuários. Vá para a página do provedor de autenticação clicando em Provedores de autenticação no menu Usuários (Figura 8).
Na página do Provedor de Autenticação, você pode criar, modificar ou excluir provedores de autenticação. Crie um novo provedor de autenticação clicando no botão azul Criar novo provedor de autenticação. Uma nova caixa será aberta no lado direito da página. Nesta caixa, você pode selecionar entre provedores de autenticação. Por favor, escolha Provedor de autenticação de banco de dados (Figura 9).
Um formulário estará disponível na caixa. Você deve preencher o formulário para configurar o provedor de autenticação do banco de dados. No campo mais importante, você precisa escrever a consulta SQL, como você pode ver na Figura 10. No PASSO 4, configuraremos um banco de dados SQL compatível com esta consulta SQL.
SELECT * FROM user WHERE Password = MD5("${password}") /* Criptografa a senha e compara o hash. */ and User="${username}";
Passo 3 - Criar Serviço SMPP com Autenticação SQL
O próximo passo é abrir o aplicativo SMS Gateway. Então, basta navegar até a área de trabalho e abrir o SMS Gateway clicando em seu ícone. Aqui você pode encontrar o menu Avançado do SMS Gateway. Para abri-lo, clique no botão "Avançado" na página principal. (Figura 11)
Na página Avançado, você pode criar, modificar ou excluir Serviços de SMS. Crie um novo Serviço de SMS clicando no botão azul Criar novo Serviço. Uma nova caixa será aberta no lado direito da página. Nesta caixa, você pode selecionar entre os Serviços de SMS, como pode ver na Figura 12. Em seguida, escolha Serviço SMPP (Figura 13).
Um formulário estará disponível na caixa. Você deve preencher o formulário para configurar o Serviço SMPP. Forneça um nome único e uma porta para este serviço, como pode ver na Figura 14.
Em seguida, na guia Avançado do Serviço SMPP, defina o provedor de autenticação de banco de dados na seção Autenticação de Usuário, conforme mostra a Figura 15.
Passo 4 - Criar tabela SQL para usuários
Para usar o Provedor de Autenticação de Banco de Dados, você precisará ter pelo menos uma tabela SQL que contenha informações de login dos usuários. A tabela deve ter pelo menos 2 colunas. 1 coluna é para o nome de usuário e a outra é para o hash da senha do usuário. (Figura 16) Agora você precisará criar uma tabela no banco de dados:CREATE TABLE user ( User VARCHAR(255), Password VARCHAR(255) );
INSERT INTO user (User, Password) VALUES ("Ozeki", MD5('123451')), ("smppuser", MD5("qwe123"));
Finalmente, se um cliente SMPP se conectar com o nome de usuário e senha que você criou no banco de dados, você verá que o usuário aparecerá na seção Usuários e aplicações do SMS Gateway (Figura 18).
Perguntas Frequentes
O seu gateway suporta clustering em vários servidores e como isso ocorre?
Para cenários envolvendo um alto volume de conexões de usuários, o Ozeki SMS Gateway
oferece uma solução de clustering para melhorar a escalabilidade do serviço. Um cluster é composto por
um grupo de computadores independentes, cada um equipado com o software Ozeki. Cada
instância do Ozeki se conecta independentemente aos seus provedores de serviço de SMS designados
e atende os usuários de forma autônoma, sem depender de outros membros do cluster.
Estratégias de Balanceamento de Carga:
O clustering do Ozeki SMS Gateway emprega dois métodos principais para distribuir conexões de clientes entre os membros do cluster:
- Seleção de Servidor baseada em DNS: Esta abordagem utiliza o algoritmo round-robin dentro do servidor DNS. Quando um cliente consulta o serviço, o servidor DNS retorna endereços IP de um pool atribuído ao cluster, distribuindo efetivamente as conexões entre os servidores disponíveis.
- Roteador pré-selecionado com Tradução de Endereço de Rede (NAT): Neste método, um roteador pré-configurado aproveita o NAT para distribuir o tráfego de entrada entre os servidores do cluster. Esta abordagem oferece maior controle sobre o balanceamento de carga em comparação com o método baseado em DNS.
- Escalabilidade Aprimorada: O clustering permite escalonamento horizontal, permitindo que você adicione mais servidores ao cluster para aumentar a capacidade de lidar com uma base de usuários em crescimento.
- Maior Disponibilidade: Se um único servidor encontrar problemas, os demais membros do cluster continuam as operações, garantindo a continuidade do serviço.
- Desempenho Melhorado: Distribuir a carga entre vários servidores reduz o esforço em máquinas individuais, levando a um melhor desempenho geral e tempos de resposta mais rápidos para os usuários.
Não consigo enviar mais de 6 mensagens por segundo, embora tenha uma licença de 10 MPS. Qual pode ser o problema? Qual é o esquema de escalabilidade do software?
Experimentando taxas lentas de entrega de mensagens no Ozeki SMS Gateway? Aqui estão vários
possíveis gargalos para investigar:
Gerenciamento de Fila de Mensagens:
- Tamanho da Caixa de Saída: Monitore o tamanho da fila da caixa de saída. Idealmente, deve variar entre 100 e 2.000 mensagens. Uma fila consistentemente baixa (0-100) sugere mensagens insuficientes para transmissão. Por outro lado, uma fila muito grande (acima de 100.000) indica que a fonte de mensagens está sobrecarregando o sistema.
- Exclusão Automática de Mensagens: Considere ativar a exclusão automática de mensagens antigas no formulário "Editar/Preferências do Servidor". Isso evita o acúmulo excessivo da fila e a degradação do desempenho.
- Desempenho do Hardware: Utilize o Gerenciador de Tarefas do Windows para identificar processos que consomem recursos excessivos de CPU. Desfragmentação de disco, protetores de tela, software antivírus ou atualizações automáticas podem afetar temporariamente o desempenho.
- Largura de Banda da Rede: Verifique se há largura de banda de upload adequada (idealmente superior a 256 Kbps). Minimize o congestionamento da rede fechando aplicativos que consomem muita largura de banda, como streaming de vídeo ou software de compartilhamento de arquivos.
- Limitações do Provedor de SMS: Em alguns casos, o sistema do provedor de SMS pode ser mais lento que o seu. Consulte-os sobre as configurações ideais de tamanho de janela no "formulário de configuração do provedor de serviço SMPP". Um tamanho de janela menor pode limitar a velocidade de envio, aguardando respostas de confirmação antes de transmitir mensagens adicionais.
- Mantenha o Tamanho Ideal da Fila de Saída: Procure manter um fluxo constante de mensagens, mantendo a fila de saída dentro do intervalo recomendado (100-2.000 mensagens).
- Implemente a Exclusão Automática de Mensagens: Configure o software para remover automaticamente mensagens antigas usando o formulário "Editar/Preferências do Servidor".
- Minimize o Tráfego de Entrada: Se possível, reduza o volume de mensagens recebidas, como relatórios de entrega, para agilizar o processo de envio.
- Otimize o Desempenho do Hardware: Identifique e feche aplicativos que consomem muitos recursos através do Gerenciador de Tarefas do Windows.
- Atualize a Largura de Banda da Rede (se necessário): Considere atualizar seu plano de internet para garantir capacidade de upload suficiente.
- Consulte o Provedor de SMS: Discuta as configurações ideais de tamanho de janela com seu provedor de serviço de SMS para melhorar o desempenho de envio.
More information
- Configuração manual de conta de usuário
- Como autenticar usuários do servidor SMPP usando um banco de dados
- Como autenticar usuários do servidor SMPP usando LDAP
- Como autenticar usuários do servidor SMPP usando solicitações HTTP