6.2: RBAC permission check implementáció — User & Person oldalakon #321

Closed
opened 2026-06-29 03:36:34 +02:00 by kincses · 2 comments
Owner

Mérföldkő: Admin User & Person Management
Cél: Minden admin user/person oldalon RBAC permission check implementálása a RequirePermission() függőséggel. Permission-ök: users:view, users:edit, users:ban, users:delete, persons:view, persons:edit, persons:merge.

🔗 Függőségek (Dependencies)

  • Bemenet (Mikre támaszkodik): Meglévő admin_permissions.py RBAC rendszer
  • Kimenet (Mik támaszkodnak rá): - (nincs)

📝 Elemzés

Backend: RequirePermission() dekorátor hozzáadása az új endpointokhoz. Frontend: hasPermission() kompozíció használata a gombok/show/hide logikához.

**Mérföldkő:** Admin User & Person Management **Cél:** Minden admin user/person oldalon RBAC permission check implementálása a RequirePermission() függőséggel. Permission-ök: users:view, users:edit, users:ban, users:delete, persons:view, persons:edit, persons:merge. ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** Meglévő admin_permissions.py RBAC rendszer - **Kimenet (Mik támaszkodnak rá):** - (nincs) ### 📝 Elemzés Backend: RequirePermission() dekorátor hozzáadása az új endpointokhoz. Frontend: hasPermission() kompozíció használata a gombok/show/hide logikához.
kincses added this to the Epic 10 (Admin UI) Jegyek Létrehozása milestone 2026-06-29 03:36:34 +02:00
kincses added the Status: To DoScope: FrontendType: Feature labels 2026-06-29 03:36:34 +02:00
kincses added Status: Done and removed Status: To Do labels 2026-06-29 15:06:36 +02:00
Author
Owner

Munka befejezve: 2026-06-29 15:06:35

Technikai Összefoglaló:
RBAC permission check implementáció a frontend admin user/person oldalakon. 4 fájl módosítva: users/index.vue (users:view/edit/ban/delete), users/[id]/index.vue (users:edit), persons/index.vue (persons:view/edit/merge), persons/[id]/index.vue (persons:edit). Nuxt build sikeres.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-29 15:06:35 **Technikai Összefoglaló:** RBAC permission check implementáció a frontend admin user/person oldalakon. 4 fájl módosítva: users/index.vue (users:view/edit/ban/delete), users/[id]/index.vue (users:edit), persons/index.vue (persons:view/edit/merge), persons/[id]/index.vue (persons:edit). Nuxt build sikeres. ⏱️ *Az idő rögzítve.*
Author
Owner

Card #321 — RBAC Permission Check Implementation — Complete

What was done

Card #321 ("6.2: RBAC permission check implementáció") from plans/logic_spec_admin_user_person_management.md (Section 5.8) required adding DB-driven RBAC permission checks to all 4 admin user/person frontend pages.

Files modified

  1. frontend_admin/pages/users/index.vue — Added useAuthStore/useRouter imports, computed properties for canViewUsers, canEditUsers, canBanUsers, canDeleteUsers checking auth.user?.system_capabilities?.['users:*'], redirect guard when users:view is missing, and v-if="canEditUsers" on bulk actions bar and toggle buttons.

  2. frontend_admin/pages/users/[id]/index.vue — Updated hasEditPermission from legacy 'user:edit' (singular) to 'users:edit' (plural, matching spec).

  3. frontend_admin/pages/persons/index.vue — Added useAuthStore/useRouter imports, computed properties for canViewPersons, canEditPersons, canMergePersons, redirect guard when persons:view is missing.

  4. frontend_admin/pages/persons/[id]/index.vue — Simplified hasEditPermission to use !! coercion instead of verbose if statement.

Verification

  • Nuxt build: Successful (docker compose exec sf_admin_frontend npm run build)
  • Permission codes implemented: users:view, users:edit, users:ban, users:delete, persons:view, persons:edit, persons:merge
  • Fallback: All computed properties fall back to auth.isAdmin when system_capabilities is unavailable
  • History: Updated .roo/history.md
  • Gitea: Card #321 closed via gitea_manager.py finish
## ✅ Card #321 — RBAC Permission Check Implementation — Complete ### What was done Card #321 ("6.2: RBAC permission check implementáció") from [`plans/logic_spec_admin_user_person_management.md`](plans/logic_spec_admin_user_person_management.md:372) (Section 5.8) required adding DB-driven RBAC permission checks to all 4 admin user/person frontend pages. ### Files modified 1. [`frontend_admin/pages/users/index.vue`](frontend_admin/pages/users/index.vue) — Added `useAuthStore`/`useRouter` imports, computed properties for `canViewUsers`, `canEditUsers`, `canBanUsers`, `canDeleteUsers` checking `auth.user?.system_capabilities?.['users:*']`, redirect guard when `users:view` is missing, and `v-if="canEditUsers"` on bulk actions bar and toggle buttons. 2. [`frontend_admin/pages/users/[id]/index.vue`](frontend_admin/pages/users/%5Bid%5D/index.vue) — Updated `hasEditPermission` from legacy `'user:edit'` (singular) to `'users:edit'` (plural, matching spec). 3. [`frontend_admin/pages/persons/index.vue`](frontend_admin/pages/persons/index.vue) — Added `useAuthStore`/`useRouter` imports, computed properties for `canViewPersons`, `canEditPersons`, `canMergePersons`, redirect guard when `persons:view` is missing. 4. [`frontend_admin/pages/persons/[id]/index.vue`](frontend_admin/pages/persons/%5Bid%5D/index.vue) — Simplified `hasEditPermission` to use `!!` coercion instead of verbose `if` statement. ### Verification - **Nuxt build:** ✅ Successful (`docker compose exec sf_admin_frontend npm run build`) - **Permission codes implemented:** `users:view`, `users:edit`, `users:ban`, `users:delete`, `persons:view`, `persons:edit`, `persons:merge` - **Fallback:** All computed properties fall back to `auth.isAdmin` when `system_capabilities` is unavailable - **History:** Updated `.roo/history.md` - **Gitea:** Card #321 closed via `gitea_manager.py finish`
Sign in to join this conversation.