Hirdetés

Új hozzászólás Aktív témák

  • modder

    aktív tag

    válasz Speeedfire #13176 üzenetére

    Kijelölöd az egyik rendszer felhasználói adatbázisát, mint a felhasználói adatbázis, és közösen azt használod mindkét rendszernél.
    A másik rendszer authentication&authorization rétegét le kell cserélned, hogy "az adatbázist" használja, ne a sajátját. Ez rendszertől függően lehet egyszerű és bonyolult is, de mindenképpen bele kell nyúlni a kódba, és módosítani kell, hogy amikor a másik rendszer egy felhasználót autentikálni szeretne, azt ne a saját adatbázisból próbálja meg, hanem "az adatbázisból".

    Többféleképpen lekérdheted a felhasználói adatokat "az adatbázisból":
    -- kapcsolódhatsz közvetlenül az adatbázis kiszolgálóhoz
    -- csinálhatsz egy service réteget ahhoz a rendszerhez, amelyiknek az adatbázisát használni fogod (SOAP vagy REST), és a másik rendszer ezt hívja minden egyes alkalommal, amikor egy felhasználót be kell jelentkeztetni/regisztrálni.

    Az előbbi egyszerűbb, szerintem, de ha változik az adatbázis struktúra egy update során, akkor kínos minden rendszer implementációját frissíteni, plusz nehezen megoldott az auditálás.
    Az utóbbi azért jó, mert a kód könnyebben, módosítható, mint az adatbázis struktúra, és anélkül lehet az autentikáció implementációját változtatni, hogy a service interfészt megváltoztatnád. (pl. ha az adatbázis struktúrán változtattál). Én ezt választanám egy REST interfésszel. Arra ügyelni kell, hogy a két rendszer közötti kommunikáció SSL-en keresztül menjen.

    Amit még meg kell említeni, hogy a felhasználó azonosításán kívül valószínűleg be lehet állítani egy csomó más felhasználói preferenciát is a különféle rendszereken. Én ezeket megtartanám rendszerfüggően, az adott rendszer saját adatbázisát. Azon a rendszeren, amelyik nem a saját felhasználói adatbázisát használja autentikációra, a service hívásból visszajött valamilyen user id-hoz kötném ezeket az adatokat.

Új hozzászólás Aktív témák