Kako autentificirati korisnike SMPP servera pomoću baze podataka

Kada upravljate vlastitom SMS uslugom, možda ćete htjeti pohraniti korisničke podatke u svoj poslužitelj baze podataka. Ove korisničke informacije mogu se koristiti za autentifikaciju korisnika koji pokušavaju pristupiti vašem poslužitelju putem različitih kanala. Na primjer, možete autentificirati SMPP klijentske veze, HTTP API veze, UCP ili CIMD2 SMS klijente s istom korisničkom bazom podataka. Ovaj vodič daje vam korak po korak upute o tome kako postaviti autentifikaciju korisnika putem baze podataka za konfiguraciju SMPP servera. Koraci su slični za druge kanale usluga koje možete postaviti. Možete koristiti Microsoft SQL Server, MySQL, Oracle ili bilo koji drugi poslužitelj baze podataka.

Pregled

Ako pohranjujete podatke o korisnicima vašeg SMPP SMS servera u tablicu baze podataka, morate slijediti ove korake kako biste konfigurirali Ozeki 10 SMS pristupnik da upita vašu bazu podataka kada se SMPP klijent pokuša spojiti kako bi odlučio je li ovlašten koristiti vašu uslugu.

  • Otvorite kontrolnu ploču
  • Stvorite vezu s bazom podataka
  • Odaberite SQL upite
  • Odaberite vrstu baze podataka
  • Unesite podatke za prijavu u bazu podataka
  • Stvorite novog pružatelja autentifikacije
  • Napišite SQL SELECT upit za provjeru korisnika
  • Otvorite aplikaciju SMS Gateway
  • Kliknite Napredno na alatnoj traci
  • Odaberite konfiguraciju SMPP servera
  • Otvorite naprednu karticu
  • Odaberite pružatelja autentifikacije baze podataka

Korak 1 - Stvaranje veze s bazom podataka u Ozeki SMS Gateway

Prvi korak je otvaranje aplikacije Kontrolna ploča u Ozeki SMS Gateway. Dakle, samo idite na radnu površinu Ozeki SMS Gateway, i ovdje, kao što možete vidjeti na slici 1, samo otvorite Kontrolnu ploču klikom na njezinu ikonu.

otvaranje kontrolne ploče
Slika 1 - Otvaranje kontrolne ploče

Sada biste trebali biti na glavnoj stranici Kontrolne ploče gdje možete stvarati, mijenjati ili brisati veze. Kliknite na plavi gumb Stvori novu vezu i odaberite Aplikacija iz okvira koji se pojavi na desnoj strani zaslona (Slika 2).

stvaranje nove veze aplikacije
Slika 2 - Stvaranje nove veze aplikacije

U ovom primjeru koristit ćemo MySQL bazu podataka za pohranjivanje korisničkih podataka za Pružatelja autentifikacije. Dakle, odaberite vrstu veze MySQL kao što pokazuje Slika 3-5.

stvaranje veze s bazom podataka
Slika 3 - Stvaranje veze s bazom podataka

veza SQL upita
Slika 4 - Veza SQL upita

mysql veza
Slika 5 - MySQL veza

Zatim ispunite sljedeći obrazac s podacima za vezu. Pazite da navedete IP adresu SQL poslužitelja i broj porta. Zadani broj porta za SQL obično je 3306. Također morate navesti naziv baze podataka u kojoj se nalaze vaši korisnici. Na kraju navedite SQL korisničko ime i lozinku i kliknite 'OK' (Slika 6).

detalji mysql veze
Slika 6 - Detalji MySQL veze

Konačno, veza je uspješno uspostavljena kao što možete vidjeti na Slici 7.

baza podataka povezana
Slika 7 - Baza podataka povezana

Korak 2 - Povezivanje Pružatelja autentifikacije baze podataka s SQL bazom podataka

U ovom koraku postavit ćemo SELECT upit na SQL tablicu. Ovaj SELECT upit bit će pozvan kada se pokuša prijava. On provjerava tablicu korisnika za korisnike. Idite na stranicu Pružatelja autentifikacije klikom na Pružatelji autentifikacije u izborniku Korisnici (Slika 8).

otvaranje izbornika pružatelja autentifikacije
Slika 8 - Otvaranje izbornika Pružatelja autentifikacije

Na stranici Pružatelja autentifikacije možete stvarati, mijenjati ili brisati pružatelje autentifikacije. Stvorite novog pružatelja autentifikacije klikom na plavi gumb Stvori novog pružatelja autentifikacije. Novi okvir otvorit će se na desnoj strani stranice. U ovom okviru možete odabrati između pružatelja autentifikacije. Odaberite Pružatelja autentifikacije baze podataka (Slika 9).

stvaranje novog pružatelja baze podataka
Slika 9 - Stvaranje novog pružatelja baze podataka

Obrazac će biti dostupan u okviru. Trebate ispuniti obrazac kako biste konfigurirali pružatelja autentifikacije baze podataka. U najvažnijem polju morate napisati SQL upit kao što možete vidjeti na Slici 10. U KORAKU 4 postavit ćemo SQL bazu podataka koja je kompatibilna s ovim SQL upitom.

SELECT * FROM user WHERE
Password = MD5("${password}") /* Hashira lozinku i uspoređuje hash. */
and User="${username}";

pružanje sql upita
Slika 10 - Pružanje SQL upita

Korak 3 - Stvaranje SMPP usluge s SQL autentifikacijom

Sljedeći korak je otvaranje aplikacije SMS Gateway. Dakle, samo idite na radnu površinu i ovdje otvorite SMS Gateway klikom na njegovu ikonu. Ovdje možete pronaći Napredni izbornik SMS Gatewaya. Da biste ga otvorili, kliknite gumb "Napredno" na glavnoj stranici. (Slika 11)

otvori napredni izbornik sms gatewaya
Slika 11 - Otvaranje naprednog izbornika SMS Gatewaya

Na stranici Napredno možete stvarati, mijenjati ili brisati SMS usluge. Stvorite novu SMS uslugu klikom na plavi gumb Stvori novu uslugu. Novi okvir će se otvoriti na desnoj strani stranice. U ovom okviru možete odabrati između SMS usluga kao što možete vidjeti na Slici 12. Zatim odaberite SMPP uslugu (Slika 13).

stvori novu sms uslugu
Slika 12 - Stvaranje nove SMS usluge

stvori smpp uslugu
Slika 13 - Stvaranje SMPP usluge

U okviru će biti dostupan obrazac. Trebate ispuniti obrazac za konfiguraciju SMPP usluge. Unesite jedinstveno ime i port za ovu uslugu kao što možete vidjeti na Slici 14.

detalji smpp usluge
Slika 14 - Detalji SMPP usluge

Zatim na kartici Napredno SMPP usluge postavite pružatelja autentifikacije baze podataka u odjeljku Autentifikacija korisnika kao što pokazuje Slika 15.

postavi pružatelja autentifikacije
Slika 15 - Postavljanje pružatelja autentifikacije

Korak 4 - Stvaranje SQL tablice za korisnike

Da biste koristili Pružatelja autentifikacije baze podataka, morat ćete imati barem jednu SQL tablicu koja sadrži podatke za prijavu korisnika. Tablica mora imati barem 2 stupca. 1 stupac je za korisničko ime, a drugi je za hash lozinke korisnika. (Slika 16) Sada ćete morati stvoriti tablicu u bazi podataka:
CREATE TABLE user (
    User VARCHAR(255),
    Password VARCHAR(255)
    );

stvori korisničku tablicu u bazi podataka
Slika 16 - Stvaranje korisničke tablice u bazi podataka

Dodajte korisničke vjerodajnice u svoju tablicu. Ovu tablicu možete kasnije koristiti za autentifikaciju korisnika. Ozeki SMS Gateway će tražiti korisnike u ovoj tablici. (Slika 17) Ne zaboravite hashirati lozinke kao što možete vidjeti u nastavku:
INSERT INTO user (User, Password)
VALUES ("Ozeki", MD5('123451')),
	   ("smppuser", MD5("qwe123"));

stvori korisnike u bazi podataka
Slika 17 - Stvaranje korisnika u bazi podataka

Konačno, ako se SMPP klijent povezuje s korisničkim imenom i lozinkom koje ste stvorili u bazi podataka, vidjet ćete da se korisnik pojavljuje u odjeljku Korisnici i aplikacije SMS Gatewaya (Slika 18).

smpp korisnik povezan
Slika 18 - SMPP korisnik povezan

Često postavljana pitanja

Podržava li vaš gateway klasteriranje preko više poslužitelja i kako se to događa?

Za scenarije koji uključuju veliki broj korisničkih veza, Ozeki SMS Gateway nudi rješenje klasteriranja za poboljšanje skalabilnosti usluge. Klaster se sastoji od skupine neovisnih računala, od kojih svako ima instaliran Ozeki softver. Svaka instanca Ozekija neovisno se povezuje s određenim pružateljima SMS usluga i neovisno služi korisnicima, bez oslanjanja na druge članove klastera.

Strategije uravnoteženja opterećenja:

Klasteriranje Ozeki SMS Gatewaya koristi dvije primarne metode za distribuciju klijentskih veza među članovima klastera:

  1. Odabir poslužitelja temeljen na DNS-u: Ovaj pristup koristi round-robin algoritam unutar DNS poslužitelja. Kada klijent upita za uslugu, DNS poslužitelj vraća IP adrese iz skupa dodijeljenog klasteru, učinkovito distribuirajući veze na dostupne poslužitelje.
  2. Unaprijed odabrani usmjerivač s prijevodom mrežnih adresa (NAT): U ovoj metodi, unaprijed konfigurirani usmjerivač koristi NAT za distribuciju dolaznog prometa među poslužiteljima klastera. Ovaj pristup nudi veću kontrolu nad uravnoteženjem opterećenja u usporedbi s DNS metodom.
Prednosti klasteriranja:
  • Poboljšana skalabilnost: Klasteriranje omogućuje horizontalno skaliranje, dopuštajući vam da dodate više poslužitelja u klaster za povećanje kapaciteta za rastuću korisničku bazu.
  • Povećana dostupnost: Ako jedan poslužitelj naiđe na probleme, preostali članovi klastera nastavljaju s radom, osiguravajući kontinuitet usluge.
  • Poboljšana izvedba: Distribucija opterećenja na više poslužitelja smanjuje teret pojedinačnih strojeva, što dovodi do poboljšane ukupne izvedbe i bržeg vremena odgovora za korisnike.

Ne mogu poslati više od 6 poruka u sekundi, iako imam licencu za 10 MPS. Što bi mogao biti problem? Što je shema skalabilnosti softvera?

Iskustvo sporih stopa isporuke poruka u Ozeki SMS Gatewayu? Evo nekoliko potencijalnih uskih grla za istraživanje:

Upravljanje redom poruka:

  • Veličina outboxa: Pratite veličinu reda outboxa. Idealno bi trebala biti između 100 i 2.000 poruka. Stalno nizak red (0-100) ukazuje na nedovoljno poruka za prijenos. S druge strane, vrlo velik red (preko 100.000) pokazuje da izvor poruka preopterećuje sustav.
  • Automatsko brisanje poruka: Razmislite o omogućavanju automatskog brisanja starih poruka u obrascu "Uredi/Postavke poslužitelja". To sprječava prekomjerno nakupljanje reda i pogoršanje performansi.
Sustavski i mrežni resursi:
  • Performanse hardvera: Koristite Windows Task Manager kako biste identificirali procese koji troše previše CPU resursa. Defragmentacija diska, zaštitni zasloni, antivirusni softver ili automatska ažuriranja mogu privremeno utjecati na performanse.
  • Mrežni protok: Provjerite imate li dovoljno upload propusnosti (idealno više od 256 Kbps). Smanjite mrežno zagušenje zatvaranjem aplikacija koje troše puno propusnosti, poput video streamanja ili softvera za dijeljenje datoteka.
Vanjski čimbenici:
  • Ograničenja pružatelja SMS usluga: U nekim slučajevima, sustav pružatelja SMS usluga može biti sporiji od vašeg. Konzultirajte se s njima o optimalnim postavkama veličine prozora unutar "obrasca za konfiguraciju SMPP pružatelja usluga". Manja veličina prozora može ograničiti brzinu slanja čekanjem na potvrdne odgovore prije slanja dodatnih poruka.
Rješavanje problema:
  • Održavajte optimalnu veličinu outbox reda: Nastojte održavati stabilan protok poruka držeći red outboxa unutar preporučenog raspona (100-2.000 poruka).
  • Implementirajte automatsko brisanje poruka: Konfigurirajte softver za automatsko uklanjanje starih poruka pomoću obrasca "Uredi/Postavke poslužitelja".
  • Smanjite dolazni promet: Ako je moguće, smanjite količinu dolaznih poruka, poput izvješća o isporuci, kako biste pojednostavili proces slanja.
  • Optimizirajte performanse hardvera: Identificirajte i zatvorite aplikacije koje troše puno resursa putem Windows Task Managera.
  • Nadogradite mrežnu propusnost (ako je potrebno): Razmislite o nadogradnji internetskog plana kako biste osigurali dovoljnu upload propusnost.
  • Konzultirajte se s pružateljem SMS usluga: Razgovarajte s pružateljem SMS usluga o optimalnim postavkama veličine prozora kako biste poboljšali performanse slanja.
Sustavnim rješavanjem ovih potencijalnih uzroka možete učinkovito otkloniti probleme sporog prijenosa poruka i osigurati optimalne performanse u Ozeki SMS Gatewayu.

More information