Comment authentifier les utilisateurs d'un serveur SMPP avec une base de données
Lorsque vous exploitez votre propre service SMS, vous pouvez stocker les informations des utilisateurs dans votre serveur de base de données. Ces informations peuvent être utilisées pour authentifier les utilisateurs qui tentent d'accéder à votre serveur via différents canaux. Par exemple, vous pouvez authentifier les connexions client SMPP, les connexions API HTTP, ou les clients SMS UCP ou CIMD2 avec la même base de données utilisateurs. Ce guide vous fournit des instructions étape par étape pour configurer l'authentification des utilisateurs via une base de données pour une configuration de serveur SMPP. Les étapes sont similaires pour les autres canaux de service que vous pourriez configurer. Vous pouvez utiliser Microsoft SQL Server, MySQL, Oracle, ou tout autre serveur de base de données.
Aperçu
Si vous stockez les informations des utilisateurs de votre serveur SMS SMPP dans une table de base de données, vous devez suivre ces étapes pour configurer la passerelle SMS Ozeki 10 afin qu'elle interroge votre base de données lorsqu'un client SMPP tente de se connecter, pour décider s'il est autorisé à utiliser votre service.
- Ouvrez le panneau de configuration
- Créez une connexion à la base de données
- Choisissez les requêtes SQL
- Sélectionnez le type de base de données
- Entrez les identifiants de connexion à la base de données
- Créez un nouveau fournisseur d'authentification
- Écrivez la requête SQL SELECT pour vérifier l'utilisateur
- Ouvrez l'application SMS Gateway
- Cliquez sur Avancé dans la barre d'outils
- Sélectionnez la configuration du serveur SMPP
- Ouvrez l'onglet avancé
- Sélectionnez le fournisseur d'authentification de base de données
Étape 1 - Créer une connexion à la base de données dans Ozeki SMS Gateway
La première étape consiste à ouvrir l'application Panneau de configuration dans Ozeki SMS Gateway. Naviguez simplement vers le bureau d'Ozeki SMS Gateway, et ici, comme vous pouvez le voir sur la Figure 1, ouvrez le Panneau de configuration en cliquant sur son icône.
Vous devriez maintenant être sur la page principale du Panneau de configuration où vous pouvez créer, modifier ou supprimer des connexions. Cliquez sur le bouton bleu Créer une nouvelle connexion et sélectionnez Application dans la boîte apparaissant sur le côté droit de l'écran (Figure 2).
Dans cet exemple, nous utiliserons une base de données MySQL pour stocker les détails des utilisateurs pour le Fournisseur d'authentification. Sélectionnez donc le type de connexion MySQL comme le montre les Figures 3-5.
Remplissez ensuite le formulaire suivant avec les détails de connexion. Assurez-vous de fournir l'adresse IP du serveur SQL et le numéro de port. Le numéro de port SQL par défaut est généralement 3306. Vous devez également fournir le nom de la base de données où se trouvent vos utilisateurs. Enfin, fournissez le nom d'utilisateur et le mot de passe SQL et cliquez sur 'OK' (Figure 6).
Enfin, la connexion a réussi comme vous pouvez le voir sur la Figure 7.
Étape 2 - Connecter le fournisseur d'authentification de base de données à la base SQL
Dans cette étape, nous allons configurer une requête SELECT sur la table SQL. Cette requête SELECT sera appelée lors d'une tentative de connexion. Elle vérifie la table des utilisateurs. Accédez à la page du fournisseur d'authentification en cliquant sur Fournisseurs d'authentification dans le menu Utilisateurs (Figure 8).
Sur la page du fournisseur d'authentification, vous pouvez créer, modifier ou supprimer des fournisseurs d'authentification. Créez un nouveau fournisseur d'authentification en cliquant sur le bouton bleu Créer un nouveau fournisseur d'authentification. Une nouvelle boîte s'ouvrira sur le côté droit de la page. Dans cette boîte, vous pouvez choisir entre différents fournisseurs d'authentification. Veuillez choisir Fournisseur d'authentification de base de données (Figure 9).
Un formulaire sera disponible dans la boîte. Vous devez remplir le formulaire pour configurer le fournisseur d'authentification de base de données. Dans le champ le plus important, vous devez écrire la requête SQL comme vous pouvez le voir sur la Figure 10. Dans l'ÉTAPE 4, nous configurerons une base de données SQL compatible avec cette requête SQL.
SELECT * FROM user WHERE Password = MD5("${password}") /* Hache le mot de passe et compare le hachage. */ and User="${username}";
Étape 3 - Créer un service SMPP avec authentification SQL
L'étape suivante consiste à ouvrir l'application SMS Gateway. Naviguez simplement vers le bureau d'Ozeki SMS Gateway, et ici, ouvrez SMS Gateway en cliquant sur son icône. Ici, vous pouvez trouver le menu Avancé de SMS Gateway. Pour l'ouvrir, cliquez sur le bouton "Avancé" sur la page principale. (Figure 11)
Sur la page Avancé, vous pouvez créer, modifier ou supprimer des services SMS. Créez un nouveau service SMS en cliquant sur le bouton bleu Créer un nouveau service. Une nouvelle boîte s'ouvrira sur le côté droit de la page. Dans cette boîte, vous pouvez choisir entre différents services SMS comme vous pouvez le voir sur la Figure 12. Puis, sélectionnez Service SMPP (Figure 13).
Un formulaire sera disponible dans la boîte. Vous devez remplir le formulaire pour configurer le service SMPP. Veuillez fournir un nom unique et un port pour ce service comme vous pouvez le voir sur la Figure 14.
Ensuite, dans l'onglet Avancé du service SMPP, configurez le fournisseur d'authentification de base de données dans la section Authentification utilisateur comme le montre la Figure 15.
Étape 4 - Créer une table SQL pour les utilisateurs
Pour utiliser le fournisseur d'authentification de base de données, vous devrez avoir au moins une table SQL contenant les informations de connexion des utilisateurs. La table doit avoir au moins 2 colonnes. 1 colonne pour le nom d'utilisateur et l'autre pour le hachage du mot de passe de l'utilisateur. (Figure 16) Maintenant, vous devrez créer une table dans la base de données :CREATE TABLE user ( User VARCHAR(255), Password VARCHAR(255) );
INSERT INTO user (User, Password) VALUES ("Ozeki", MD5('123451')), ("smppuser", MD5("qwe123"));
Enfin, si un client SMPP se connecte avec le nom d'utilisateur et le mot de passe que vous avez créés dans la base de données, vous verrez que l'utilisateur apparaît dans la section Utilisateurs et applications de SMS Gateway (Figure 18).
FAQ
Votre passerelle prend-elle en charge le clustering sur plusieurs serveurs et comment cela se produit-il ?
Pour les scénarios impliquant un volume élevé de connexions utilisateurs, Ozeki SMS Gateway
propose une solution de clustering pour améliorer l'évolutivité du service. Un cluster comprend
un groupe d'ordinateurs indépendants, chacun équipé du logiciel Ozeki. Chaque
instance d'Ozeki se connecte indépendamment à ses fournisseurs de services SMS désignés
et sert les utilisateurs de manière autonome, sans dépendre des autres membres du cluster.
Stratégies d'équilibrage de charge :
Le clustering d'Ozeki SMS Gateway utilise deux méthodes principales pour distribuer les connexions client
entre les membres du cluster :
- Sélection de serveur basée sur DNS : Cette approche utilise l'algorithme round-robin dans le serveur DNS. Lorsqu'un client interroge le service, le serveur DNS renvoie des adresses IP d'un pool attribué au cluster, répartissant efficacement les connexions entre les serveurs disponibles.
- Routeur présélectionné avec traduction d'adresse réseau (NAT) : Dans cette méthode, un routeur préconfiguré utilise le NAT pour répartir le trafic entrant entre les serveurs du cluster. Cette approche offre un meilleur contrôle sur l'équilibrage de charge par rapport à la méthode basée sur DNS.
- Évolutivité améliorée : Le clustering permet une mise à l'échelle horizontale, vous permettant d' ajouter plus de serveurs au cluster pour augmenter la capacité à gérer une base d'utilisateurs croissante.
- Disponibilité accrue : Si un serveur rencontre des problèmes, les autres membres du cluster continuent à fonctionner, assurant la continuité du service.
- Performance améliorée : Répartir la charge sur plusieurs serveurs réduit la charge sur les machines individuelles, améliorant les performances globales et les temps de réponse pour les utilisateurs.
Je ne peux pas envoyer plus de 6 messages par seconde, bien que j'aie une licence 10 MPS. Quel peut être le problème ? Quel est le schéma d'évolutivité du logiciel ?
Vous rencontrez des taux de livraison de messages lents dans Ozeki SMS Gateway ? Voici plusieurs
goulots d'étranglement potentiels à examiner :
Gestion de la file d'attente des messages :
- Taille de la boîte d'envoi : Surveillez la taille de votre file d'attente d'envoi. Idéalement, elle devrait être comprise entre 100 et 2 000 messages. Une file d'attente constamment faible (0-100) suggère des messages insuffisants pour la transmission. À l'inverse, une file d'attente très grande (plus de 100 000) indique que la source des messages surcharge le système.
- Suppression automatique des messages : Envisagez d'activer la suppression automatique des anciens messages dans le formulaire "Édition/Préférences du serveur". Cela empêche l'accumulation excessive de la file d'attente et la dégradation des performances.
- Performance matérielle : Utilisez le Gestionnaire des tâches Windows pour identifier les processus consommant des ressources CPU excessives. La défragmentation du disque, les économiseurs d'écran, les logiciels antivirus ou les mises à jour automatiques peuvent temporairement affecter les performances.
- Bande passante réseau : Vérifiez une bande passante de téléchargement adéquate (idéalement supérieure à 256 Kbps). Minimisez la congestion du réseau en fermant les applications gourmandes en bande passante comme les flux vidéo ou les logiciels de partage de fichiers.
- Limitations du fournisseur SMS : Dans certains cas, le système du fournisseur de services SMS pourrait être plus lent que le vôtre. Consultez-les concernant les paramètres optimaux de taille de fenêtre dans le "formulaire de configuration du fournisseur de services SMPP". Une taille de fenêtre plus petite peut restreindre la vitesse d'envoi en attendant les réponses de confirmation avant de transmettre des messages supplémentaires.
- Maintenez une taille optimale de la file d'attente d'envoi : Essayez de maintenir un flux constant de messages en gardant la file d'attente d'envoi dans la plage recommandée (100-2 000 messages).
- Activez la suppression automatique des messages : Configurez le logiciel pour supprimer automatiquement les anciens messages en utilisant le formulaire "Édition/Préférences du serveur".
- Minimisez le trafic entrant : Si possible, réduisez le volume des messages entrants, tels que les rapports de livraison, pour rationaliser le processus d'envoi.
- Optimisez les performances matérielles : Identifiez et fermez les applications gourmandes en ressources via le Gestionnaire des tâches Windows.
- Améliorez la bande passante réseau (si nécessaire) : Envisagez de mettre à niveau votre connexion Internet pour garantir une capacité de téléchargement suffisante.
- Consultez votre fournisseur SMS : Discutez des paramètres optimaux de taille de fenêtre avec votre fournisseur de services SMS pour améliorer les performances d'envoi.
More information
- Configuration manuelle du compte utilisateur
- Comment authentifier les utilisateurs du serveur SMPP à l'aide d'une base de données
- Comment authentifier les utilisateurs du serveur SMPP avec LDAP
- Comment authentifier les utilisateurs du serveur SMPP à l'aide de requêtes HTTP