ForgeOpenPlatform
hu

OpenPlatform

Felhasználók, csoportok és jogosultságok az OpenPlatformban

OpenPlatform · openplatform@5 openplatformusersgroupspermissions

Az OpenPlatform szétválasztja, hogy ki (felhasználók), hol (alkalmazások) és mit (jogosultságok), középen a csoportokkal:

  • A felhasználónak van neve, e-mailje, nyelve, jelszava és jelzői (sa az adminisztrátornak, isconfirmed, isdisabled, isinactive, notifications, sounds...), és tetszőleges számú csoporthoz tartozik (@User séma, plugins/setup/schemas/users.js).
  • A csoportnak van neve, színe, ikonja, egy opcionális reference értéke és jogosultságok listája (@Group séma, plugins/setup/schemas/groups.js).
  • Az alkalmazás saját jogosultságokat deklarál: mindegyiknek van neve és egy value értéke, egy egyszerű karakterlánc, amelyet az alkalmazás megért (plugins/setup/schemas/apps.js).

Hogyan számítódik a hozzáférés

A definitions/func.js fájlban lévő FUNC.permissions(userid, callback) függvény egy felhasználóhoz összeállítja:

  1. a felhasználó nem letiltott csoportjait;
  2. ezeknek a csoportoknak a tbl_group_permission sorait: egy jogosultságot tartalmazó sor megadja az alkalmazás adott jogosultságát, a jogosultság nélküli sor pedig csak magát az alkalmazást adja (a felhasználó látja, és üres jogosultságlistát kap);
  3. minden megadott jogosultság value értékét, csak az el nem távolított és nem letiltott alkalmazásokra.

Az eredmény három részből áll: a felhasználó alkalmazásai (apps), a jogosultsági értékek alkalmazásonként (permissions) és a csoportok (groups). JSON-ként tárolódik a felhasználó cache oszlopában, egy cachefilter mezővel, amely felsorolja a csoportokat (G<id>) és alkalmazásokat (A<id>), amelyektől függ. Ha egy csoport vagy alkalmazás változik, a FUNC.clearcache(id) törli minden olyan felhasználó gyorsítótárát, amelynek szűrője tartalmazza az azonosítót, és a következő kérés újraépíti.

Hol látja az alkalmazás

  • A portál csak az apps alkalmazásait listázza, és megtagadja bármely más megnyitását ("App not found").
  • Az alkalmazás a saját listáját a permissions mezőben kapja, amikor egy indítást ellenőriz (value karakterláncok tömbje), a csoportok azonosítóival együtt, hogy eldönthesse, mit mutasson (hogyan csatlakozik egy app).
  • A beállítási képernyő a felhasználó sa jelzője alapján dönti el, ki használhatja.

Egy jó szokás a kód működéséből adódóan: a jogosultság value értékét nevezd el az alkalmazásod műveletéről (orders.read, orders.write), és rendeld a csoportokat ezekhez az értékekhez az OpenPlatformban, így az alkalmazásod csak karakterláncokat ellenőriz.