Roluri și drepturi
Accesul se construiește în trei straturi - rolul în firmă, drepturile fine și paginile bifate pentru fiecare om.
Cele trei straturi
| Strat | Unde stă | Exemplu |
|---|---|---|
| Rol | acces_firma(cont_id, firma_id, rol) | Ana este marketing în Ilustromania |
| Drepturi fine | drepturi_cont(cont_id, firma_id, drept) | Dan are în plus dreptul de a edita meniul |
| Pagini | lista de pagini a omului pe firmă | Dan vede și pagina Stoc, dar nu Facturi |
Rolul dă punctul de plecare. Drepturile fine și paginile îl ajustează pentru un om anume, fără să inventezi un rol nou.
Rolurile
| Rol | Folosire obișnuită |
|---|---|
admin | administrează oamenii, drepturile, modulele și setările firmei |
patron | proprietarul afacerii |
finante | facturi, plăți, evidență |
gestiune | stoc, recepții, furnizori |
bucatar | meniu, rețete, ingrediente |
casier | vânzare, casa de marcat |
marketing | social media, reclame, recenzii |
angajat | acces de bază |
Acestea sunt cele 8 roluri de firmă. Separat există executor, rolul tehnic al jetoanelor de serviciu ale agenților de pe server: nu se dă unui om și nu apare în pagina Acces.
O rută cu acces rol:admin cere exact rolul admin pe firma activă. Nu există moștenire implicită între roluri: patron nu primește automat ce are admin.
Roluri de echipă
Pe lângă rolurile fixe, firma își poate defini roluri de echipă proprii (de exemplu „Social Media”), cu paginile și notificările lor. Se gestionează din pagina Acces și au rutele /v1/acces/roluri-echipa.
Cum decide platforma
Fiecare rută își declară accesul. Ordinea verificării:
- Ruta are acces declarat? Dacă nu:
401 ruta_nedeclarata. - Accesul este
public? Atunci cererea trece. - Există o sesiune validă (sau un jeton
mcp_)? Dacă nu:401. - Accesul cere un rol (
rol:<rol>)? Rolul omului pe firma activă trebuie să fie exact acela, altfel403. - Modulul își face apoi propriile verificări (modul activ, drept fin), tot cu
403la refuz.
Distribuția rutelor pe acces
Distribuția actuală a celor 307 de rute:
| Acces | Rute |
|---|---|
sesiune | 203 |
rol:admin | 78 |
public | 26 |
Cifrele sunt calculate la generarea documentației, din harta de acces a codului.