Search by

chani / safi-admin-panel

chani

Admin Panel Extension for Safi Microframework

Package info

github.com/chani/safi-admin-panel

Language:Twig

pkg:composer/chani/safi-admin-panel

Statistics

Installs: 0

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.1 2026-08-02 00:15 UTC

This package is auto-updated.

Last update: 2026-09-05 19:46:46 UTC


README

Admin Panel, User Directory, RBAC Management, and Telemetry extension for the Safi Microframework.

1. Features

  • System Telemetry Dashboard: Real-time execution latency, memory footprint, OPcache/APCu status, and log inspection.
  • User & 2FA Management: Account lifecycle control, mandatory password change flags, 2FA/TOTP setup with QR codes, and 2FA resets.
  • Security & Sessions: Active session inspection, manual session termination, and IP rate-limiting unlock controls.
  • RBAC & Group Hierarchy: Management of scanned system permissions (#[Permission]) and user group inheritance (GroupPermission / UserPermission).
  • Framework Inspectors: Route topology registry, active DI container bindings inspection, and Diátaxis documentation viewer with path traversal guard.

2. Service Provider Registration

Register AdminPanelServiceProvider into the Assembler during application bootstrapping (init.inc.php):

use Safi\Extensions\AdminPanel\AdminPanelServiceProvider;

$componentManager->bootProviders([
    // ...
    new AdminPanelServiceProvider(),
]);

3. Endpoints Overview

URI Method Protected Controller Action Purpose
/admin GET Yes (Admin) AdminDashboardController::index Telemetry Dashboard
/admin/users GET Yes (Admin) AdminUserController::index User Directory
/admin/users/save POST Yes (Admin) AdminUserController::save Create/Update User
/admin/users/delete POST Yes (Admin) AdminUserController::delete Delete User Account
/admin/users/2fa GET Yes (Admin) AdminUserController::show2fa 2FA QR Code Setup Portal
/admin/users/2fa/generate POST Yes (Admin) AdminUserController::generate2fa Generate TOTP Secret
/admin/users/2fa/enable POST Yes (Admin) AdminUserController::enable2fa Confirm & Enable 2FA
/admin/users/2fa/reset POST Yes (Admin) AdminUserController::reset2fa Reset TOTP Secret
/admin/sessions GET Yes (Admin) AdminSessionController::index Active Sessions & IP Locks
/admin/sessions/unlock POST Yes (Admin) AdminSessionController::unlock Unlock Single Banned IP
/admin/sessions/unlock-bulk POST Yes (Admin) AdminSessionController::unlockBulk Unlock Multiple IPs
/admin/sessions/kill POST Yes (Admin) AdminSessionController::kill Terminate Active Session
/admin/routes GET Yes (Admin) AdminInspectorController::routes Route Topology Registry
/admin/packages GET Yes (Admin) AdminInspectorController::packages DI Bindings & Packages
/admin/docs GET Yes (Admin) AdminInspectorController::docs Framework Doc Viewer
/admin/groups GET Yes (Admin) AdminRbacController::groups RBAC Group Directory
/admin/groups/save POST Yes (Admin) AdminRbacController::saveGroup Save User Group
/admin/permissions GET Yes (Admin) AdminRbacController::permissions System Permissions List
/admin/permissions/assign-group POST Yes (Admin) AdminRbacController::assignGroupPermission Assign Permission to Group
/admin/permissions/assign-user POST Yes (Admin) AdminRbacController::assignUserPermission Assign Permission to User

License

MIT License. Author: Jean Bruenn