Hogyan hitelesítsünk SMPP szerver felhasználókat adatbázissal

Amikor saját SMS szolgáltatást üzemeltetünk, érdemes lehet a felhasználói adatokat egy adatbázis szerveren tárolni. Ezeket a felhasználói adatokat felhasználhatjuk arra, hogy hitelesítsük azokat a felhasználókat, akik különböző csatornákon keresztül próbálnak hozzáférni a szerverünkhöz. Például hitelesíthetünk SMPP kliens kapcsolatokat, HTTP API kapcsolatokat, UCP vagy CIMD2 SMS klienseket ugyanazzal a felhasználói adatbázissal. Ez az útmutató lépésről lépésre bemutatja, hogyan állítható be az adatbázisos felhasználóhitelesítés egy SMPP szerver konfigurációjához. A lépések hasonlóak más szolgáltatási csatornák beállításához is. Használhat Microsoft SQL Server, MySQL, Oracle vagy bármilyen más adatbázis szervert.

Áttekintés

Ha az SMPP SMS szerver felhasználói adatait egy adatbázis táblában tároljuk, akkor az alábbi lépéseket kell követnünk ahhoz, hogy az Ozeki 10 SMS gateway-t úgy konfiguráljuk, hogy lekérdezze az adatbázist, amikor egy SMPP kliens próbál csatlakozni, és eldöntse, hogy jogosult-e a szolgáltatás használatára.

  • Nyissa meg a vezérlőpultot
  • Hozzon létre egy adatbázis kapcsolatot
  • Válassza ki az SQL lekérdezéseket
  • Válassza ki az adatbázis típusát
  • Adja meg az adatbázis bejelentkezési adatait
  • Hozzon létre egy új hitelesítési szolgáltatót
  • Írja meg az SQL SELECT lekérdezést a felhasználó ellenőrzéséhez
  • Nyissa meg az SMS Gateway alkalmazást
  • Kattintson az Advanced gombra az eszköztáron
  • Válassza ki az SMPP szerver konfigurációját
  • Nyissa meg az advanced fület
  • Válassza ki az adatbázis hitelesítési szolgáltatót

1. lépés - Adatbázis kapcsolat létrehozása az Ozeki SMS Gateway-ben

Az első lépés az Ozeki SMS Gateway Control Panel alkalmazásának megnyitása. Ehhez navigáljon az Ozeki SMS Gateway asztalára, és itt, ahogy az az 1. ábrán is látható, egyszerűen nyissa meg a Control Panel-t a rákattintva az ikonjára.

vezérlőpult megnyitása
1. ábra - Vezérlőpult megnyitása

Most a Control Panel főoldalán kell lennie, ahol létrehozhat, módosíthat vagy törölhet kapcsolatokat. Kattintson a kék Create new connection gombra, és válassza ki az Application lehetőséget a képernyő jobb oldalán megjelenő dobozból (2. ábra).

új alkalmazás kapcsolat létrehozása
2. ábra - Új alkalmazás kapcsolat létrehozása

Ebben a példában MySQL adatbázist fogunk használni a felhasználói adatok tárolására a Hitelesítési Szolgáltató számára. Ezért válassza ki a MySQL kapcsolat típusát, ahogyan azt a 3-5. ábra mutatja.

adatbázis kapcsolat létrehozása
3. ábra - Adatbázis kapcsolat létrehozása

sql lekérdezések kapcsolat
4. ábra - SQL lekérdezések kapcsolat

mysql kapcsolat
5. ábra - MySQL kapcsolat

Ezután töltse ki a következő űrlapot a kapcsolat részleteivel. Győződjön meg arról, hogy megadja az SQL szerver IP címét és portszámát. Az alapértelmezett SQL portszám általában 3306. Meg kell adnia annak az adatbázisnak a nevét is, ahol a felhasználók találhatók. Végül adja meg az SQL felhasználónevet és jelszót, majd kattintson az 'OK' gombra (6. ábra).

mysql kapcsolat részletei
6. ábra - MySQL kapcsolat részletei

Végül a kapcsolat sikeresen létrejött, ahogyan azt a 7. ábra mutatja.

adatbázis csatlakoztatva
7. ábra - Adatbázis csatlakoztatva

2. lépés - Adatbázis hitelesítési szolgáltató csatlakoztatása az SQL adatbázishoz

Ebben a lépésben egy SELECT lekérdezést állítunk be az SQL táblán. Ez a SELECT lekérdezés akkor hívódik meg, amikor egy bejelentkezési kísérlet történik. Ez ellenőrzi a felhasználói táblát a felhasználók után. Ugorjon a hitelesítési szolgáltató oldalára a Users menüben található Authentication providers gombra kattintva (8. ábra).

hitelesítési szolgáltatók menü megnyitása
8. ábra - Hitelesítési szolgáltatók menü megnyitása

A Hitelesítési szolgáltató oldalon létrehozhat, módosíthat vagy törölhet hitelesítési szolgáltatókat. Hozzon létre egy új hitelesítési szolgáltatót a kék Create new authentication provider gombra kattintva. Egy új doboz nyílik meg az oldal jobb oldalán. Ebben a dobozban választhat a hitelesítési szolgáltatók között. Kérjük, válassza a Database authentication provider lehetőséget (9. ábra).

új adatbázis szolgáltató létrehozása
9. ábra - Új adatbázis szolgáltató létrehozása

Egy űrlap lesz elérhető a dobozban. Ki kell töltenie az űrlapot az adatbázis hitelesítési szolgáltató konfigurálásához. A legfontosabb mezőben meg kell írnia az SQL lekérdezést, ahogyan azt a 10. ábra mutatja. A 4. lépésben beállítunk egy SQL adatbázist, amely kompatibilis ezzel az SQL lekérdezéssel.

SELECT * FROM user WHERE
Password = MD5("${password}") /* A jelszót hash-eli és összehasonlítja a hash-t. */
and User="${username}";

sql lekérdezés megadása
10. ábra - SQL lekérdezés megadása

3. lépés - SMPP szolgáltatás létrehozása SQL hitelesítéssel

A következő lépés az SMS Gateway alkalmazás megnyitása. Ehhez navigáljon az Ozeki SMS Gateway asztalára, és itt egyszerűen nyissa meg az SMS Gateway-t a rákattintva az ikonjára. Itt megtalálhatja az SMS Gateway Advanced menüjét. A megnyitáshoz kattintson az "Advanced" gombra a főoldalon (11. ábra).

sms gateway advanced menü megnyitása
11. ábra - SMS Gateway advanced menü megnyitása

Az Advanced oldalon létrehozhat, módosíthat vagy törölhet SMS szolgáltatásokat. Hozzon létre egy új SMS szolgáltatást a kék Create new Service gombra kattintva. Egy új doboz nyílik meg az oldal jobb oldalán. Ebben a dobozban választhat az SMS szolgáltatások között, ahogyan azt a 12. ábra mutatja. Ezután válassza ki az SMPP Service lehetőséget (13. ábra).

új sms szolgáltatás létrehozása
12. ábra - Új SMS szolgáltatás létrehozása

smpp szolgáltatás létrehozása
13. ábra - SMPP szolgáltatás létrehozása

Egy űrlap lesz elérhető a dobozban. Ki kell töltenie az űrlapot az SMPP szolgáltatás konfigurálásához. Kérjük, adjon meg egy egyedi nevet és egy portot ehhez a szolgáltatáshoz, ahogyan azt a 14. ábra mutatja.

smpp szolgáltatás részletei
14. ábra - SMPP szolgáltatás részletei

Ezután az SMPP szolgáltatás Advanced fülén állítsa be az adatbázis hitelesítési szolgáltatót a User Authentication részben, ahogyan azt a 15. ábra mutatja.

hitelesítési szolgáltató beállítása
15. ábra - Hitelesítési szolgáltató beállítása

4. lépés - SQL adatbázis tábla létrehozása a felhasználók számára

Az adatbázis hitelesítési szolgáltató használatához legalább egy SQL táblára van szükség, amely tartalmazza a felhasználók bejelentkezési adatait. A táblának legalább 2 oszlopnak kell lennie. 1 oszlop a felhasználónévnek, a másik pedig a felhasználó jelszavának hash-értékének (16. ábra). Most létre kell hoznia egy táblát az adatbázisban:
CREATE TABLE user (
    User VARCHAR(255),
    Password VARCHAR(255)
    );

felhasználói tábla létrehozása az adatbázisban
16. ábra - Felhasználói tábla létrehozása az adatbázisban

Adjon hozzá felhasználói hitelesítő adatokat a táblához. Később ezt a táblát felhasználhatja felhasználóhitelesítésre. Az Ozeki SMS Gateway ebben a táblában fogja keresni a felhasználókat (17. ábra). Ne felejtse el hash-elni a jelszavakat, ahogyan az alábbiakban látható:
INSERT INTO user (User, Password)
VALUES ("Ozeki", MD5('123451')),
	   ("smppuser", MD5("qwe123"));

felhasználók létrehozása az adatbázisban
17. ábra - Felhasználók létrehozása az adatbázisban

Végül, ha egy SMPP kliens csatlakozik az adatbázisban létrehozott felhasználónévvel és jelszóval, látni fogja, hogy a felhasználó megjelenik az SMS Gateway Users and applications részében (18. ábra).

smpp felhasználó csatlakoztatva
18. ábra - SMPP felhasználó csatlakoztatva

GYIK

Támogatja az átjáró a több szerveren történő klaszterezést, és hogyan történik ez?

Nagy mennyiségű felhasználói kapcsolatot igénylő forgatókönyvek esetén az Ozeki SMS Gateway klaszterezési megoldást kínál a szolgáltatás méretezhetőségének növelésére. Egy klaszter független számítógépek csoportjából áll, mindegyik Ozeki szoftverrel felszerelve. Minden Ozeki példány önállóan csatlakozik a kijelölt SMS szolgáltatóhoz, és önállóan szolgálja ki a felhasználókat, anélkül, hogy más klasztertagokra támaszkodna.

Terheléselosztási stratégiák:

Az Ozeki SMS Gateway klaszterezés két fő módszert alkalmaz a klienskapcsolatok klasztertagok közötti elosztására:

  1. DNS-alapú szerverválasztás: Ez a módszer a round-robin algoritmust használja a DNS szerveren belül. Amikor egy kliens lekérdezi a szolgáltatást, a DNS szerver a klaszterhez rendelt IP címek közül választ, ezzel hatékonyan elosztva a kapcsolatokat az elérhető szerverek között.
  2. Előre kiválasztott router hálózati címfordítással (NAT): Ebben a módszerben egy előre konfigurált router NAT segítségével osztja el a bejövő forgalmat a klaszter szerverei között. Ez a módszer nagyobb ellenőrzést biztosít a terheléselosztás felett a DNS-alapú módszerhez képest.
A klaszterezés előnyei:
  • Jobb méretezhetőség: A klaszterezés lehetővé teszi a horizontális skálázást, lehetővé téve további szerverek hozzáadását a klaszterhez a növekvő felhasználói bázis kezeléséhez.
  • Nagyobb rendelkezésre állás: Ha egy szerver problémába ütközik, a többi klasztertag folytatja a működést, biztosítva a szolgáltatás folytonosságát.
  • Jobb teljesítmény: A terhelés több szerver között történő elosztása csökkenti az egyes gépek terhelését, javítva ezzel az általános teljesítményt és a felhasználók számára gyorsabb válaszidőt biztosítva.

Nem tudok több mint 6 üzenetet küldeni másodpercenként, bár 10 MPS licenccel rendelkezem. Mi lehet a probléma? Mi a szoftver méretezési sémája?

Lassú üzenetküldési sebességet tapasztal az Ozeki SMS Gateway-ben? Íme néhány potenciális szűk keresztmetszet, amelyet érdemes megvizsgálni:

Üzenetsor kezelése:

  • Kimenő mappa mérete: Figyelje a kimenő sor méretét. Ideális esetben 100 és 2 000 üzenet között kell lennie. Egy állandóan alacsony sor (0-100) azt jelzi, hogy nincs elegendő üzenet az átvitelhez. Ezzel szemben egy nagyon nagy sor (több mint 100 000) azt jelzi, hogy az üzenetforrás túlterheli a rendszert.
  • Automatikus üzenettörlés: Fontolja meg a régi üzenetek automatikus törlésének engedélyezését az "Edit/Server Preferences" űrlapon. Ez megakadályozza a túlzott sor felhalmozódást és a teljesítmény romlását.
Rendszer- és hálózati erőforrások:
  • Hardver teljesítmény: Használja a Windows Feladatkezelőt az olyan folyamatok azonosítására, amelyek túl sok CPU erőforrást fogyasztanak. A lemezdefragmentálás, képernyővédők, víruskereső szoftver vagy automatikus frissítések átmenetileg befolyásolhatják a teljesítményt.
  • Hálózati sávszélesség: Ellenőrizze a megfelelő feltöltési sávszélességet (ideális esetben több mint 256 Kbps). Csökkentse a hálózati torlódást olyan sávszélesség-igényes alkalmazások bezárásával, mint a videóstreamelés vagy a fájlmegosztó szoftverek.
Külső tényezők:
  • SMS szolgáltató korlátozásai: Bizonyos esetekben az SMS szolgáltató rendszere lassabb lehet, mint az Öné. Konzultáljon velük az optimális ablakméret beállításairól az "SMPP service provider configuration" űrlapon. Egy kisebb ablakméret korlátozhatja a küldési sebességet azáltal, hogy megerősítő válaszokra vár, mielőtt további üzeneteket küldene.
A probléma megoldása:
  • Optimális kimenő sor méretének fenntartása: Törekedjen az üzenetek egyenletes áramlására a kimenő sor ajánlott tartományban (100-2 000 üzenet) tartásával.
  • Automatikus üzenettörlés beállítása: Konfigurálja a szoftvert a régi üzenetek automatikus törlésére az "Edit/Server Preferences" űrlap segítségével.
  • Bejövő forgalom csökkentése: Ha lehetséges, csökkentse a bejövő üzenetek, például kézbesítési jelentések mennyiségét a küldési folyamat egyszerűsítése érdekében.
  • Hardver teljesítmény optimalizálása: Azonosítsa és zárja be az erőforrás-igényes alkalmazásokat a Windows Feladatkezelő segítségével.
  • Hálózati sávszélesség frissítése (ha szükséges): Fontolja meg az internetcsomag frissítését a megfelelő feltöltési kapacitás biztosítása érdekében.
  • Konzultáció az SMS szolgáltatóval: Beszéljen az optimális ablakméret beállításairól az SMS szolgáltatójával a küldési teljesítmény javítása érdekében.
Ezen potenciális okok szisztematikus kezelésével hatékonyan elháríthatja a lassú üzenetátvitel problémáit, és biztosíthatja az Ozeki SMS Gateway optimális teljesítményét.

More information