RBAC Permission Audit: adatbázis és frontend szinkronizáció vizsgálata #298

Open
opened 2026-06-25 21:46:59 +02:00 by kincses · 0 comments
Owner

Mérföldkő: RBAC Refaktor\nCél: A DB-driven SystemPermission/SystemRole rendszer és a frontend admin permission UI közötti szinkronizáció ellenőrzése, valamint mock adatok keresése a frontendben\n\n### 🔗 Függőségek (Dependencies)\n- Bemenet (Mikre támaszkodik): system.roles, system.permissions, system.role_permissions tábák, backend RBAC service, frontend admin Vue komponensek\n- Kimenet (Mik támaszkodnak rá): Admin permission mátrix frontend, RequirePermission védőréteg, user profil system_capabilities mező\n\n### 📝 Elemzés\nAz audit során az alábbi kritikus problémák kerültek feltárásra:\n\n1. KRITIKUS: RBAC kettős rendszer párhuzamosan fut\n- Scope-based admin RBAC (AdminAction enum: EDIT_DATA, VIEW_DATA, stb.) és DB-driven permission (SystemPermission tábla: fleet:view, user:create, stb.) két külön, össze nem kötött rendszerként fut.\n- rbac_service.get_permitted_actions() csak SUPERADMIN-nak ad vissza action-öket, más szerepköröknek üres set\n- /admin/permissions/matrix endpoint hibás adatot ad nem-SUPERADMIN szerepköröknek\n\n2. KRITIKUS: system_capabilities és org_capabilities üres a /auth/me válaszban\n- A _build_user_response() függvényben a system_capabilities mindig üres dict {}, mert a régi keménykódolt mátrix el lett távolítva\n- A frontend UserProfile interface (stores/auth.ts) tartalmazza ezeket a mezőket, de a backend sosem tölti ki\n\n3. KÖZEPES: Capability osztály és SystemPermission tábla formátum eltérés\n- Régi Capability konstansok (can_manage_users, can_view_system_logs) vs új permission code-ok (fleet:view, user:create)\n- Nincs mapping vagy átmeneti réteg a két formátum között\n\n4. MEGÁLLAPÍTÁS: NINCS mock adat a frontendben\n- A frontend admin /permissions oldala valós API hívásokkal dolgozik (GET /admin/permissions/roles, GET /admin/permissions)\n- A middleware (auth.ts) helyesen ellenőrzi a staff role-okat a backend /auth/me válasza alapján\n- Az adatbázisban lévő 30 permission és 6 role helyesen jelenik meg a frontend 2D mátrix táblájában

**Mérföldkő:** RBAC Refaktor\n**Cél:** A DB-driven SystemPermission/SystemRole rendszer és a frontend admin permission UI közötti szinkronizáció ellenőrzése, valamint mock adatok keresése a frontendben\n\n### 🔗 Függőségek (Dependencies)\n- **Bemenet (Mikre támaszkodik):** system.roles, system.permissions, system.role_permissions tábák, backend RBAC service, frontend admin Vue komponensek\n- **Kimenet (Mik támaszkodnak rá):** Admin permission mátrix frontend, RequirePermission védőréteg, user profil system_capabilities mező\n\n### 📝 Elemzés\nAz audit során az alábbi kritikus problémák kerültek feltárásra:\n\n**1. KRITIKUS: RBAC kettős rendszer párhuzamosan fut**\n- Scope-based admin RBAC (AdminAction enum: EDIT_DATA, VIEW_DATA, stb.) és DB-driven permission (SystemPermission tábla: fleet:view, user:create, stb.) két külön, össze nem kötött rendszerként fut.\n- rbac_service.get_permitted_actions() csak SUPERADMIN-nak ad vissza action-öket, más szerepköröknek üres set\n- /admin/permissions/matrix endpoint hibás adatot ad nem-SUPERADMIN szerepköröknek\n\n**2. KRITIKUS: system_capabilities és org_capabilities üres a /auth/me válaszban**\n- A _build_user_response() függvényben a system_capabilities mindig üres dict {}, mert a régi keménykódolt mátrix el lett távolítva\n- A frontend UserProfile interface (stores/auth.ts) tartalmazza ezeket a mezőket, de a backend sosem tölti ki\n\n**3. KÖZEPES: Capability osztály és SystemPermission tábla formátum eltérés**\n- Régi Capability konstansok (can_manage_users, can_view_system_logs) vs új permission code-ok (fleet:view, user:create)\n- Nincs mapping vagy átmeneti réteg a két formátum között\n\n**4. MEGÁLLAPÍTÁS: NINCS mock adat a frontendben**\n- A frontend admin /permissions oldala valós API hívásokkal dolgozik (GET /admin/permissions/roles, GET /admin/permissions)\n- A middleware (auth.ts) helyesen ellenőrzi a staff role-okat a backend /auth/me válasza alapján\n- Az adatbázisban lévő 30 permission és 6 role helyesen jelenik meg a frontend 2D mátrix táblájában
Sign in to join this conversation.