chiiya/filament-access-control
FilamentUser) with granular RBAC, making it ideal for projects where Filament is the primary admin interface.spatie/laravel-permission (a mature, widely adopted package), reducing reinvention risk. This ensures compatibility with existing Spatie-based permission systems if present.FilamentUser), guards, and password brokers, which is architecturally clean for multi-tenant or multi-auth systems.filament_users, roles, and permissions. If using migrations, this is straightforward; otherwise, manual schema adjustments may be required.users table) but does not replace it. This could complicate systems where Filament and non-Filament users share the same auth layer.spatie/laravel-permission could limit flexibility if the project uses a different RBAC system (e.g., Nova, custom logic).users vs. filament_users) be resolved?users table for admins).composer require chiiya/filament-access-control
php artisan vendor:publish --provider="Chiiya\FilamentAccessControl\FilamentAccessControlServiceProvider"
filament_users, roles, and permissions tables.Admin, Editor) via a seeder or Filament’s CRUD.config/auth.php to recognize the filament guard.FilamentUserResource, RoleResource) in app/Providers/Filament/AdminPanelProvider.php.filament-spatie-permission). Test for overlaps.FilamentUser model integrates cleanly.filament-access-control::...) are properly translated.chiiya/filament-access-control and spatie/laravel-permission for updates.composer.json to avoid breaking changes.Authenticate middleware is correctly scoped).spatie/laravel-permission’s Permission::debug() or Filament’s filament:debug command.Permission::cacheResolvedPermissions()).role_id and permission_id columns.filament_users are scoped to tenants (e.g., via tenant_id column).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Package abandonment | Broken Filament auth | Fork the repo or switch to filament-spatie-permission. |
| Email system downtime | Users unable to set passwords | Implement fallback (e.g., manual password reset via Filament). |
| Role-permission misconfiguration | Privilege escalation or denial | Use Spatie’s Permission::revokePermissionToRole() and audit logs. |
| Database corruption (RBAC tables) | Admin panel inaccessible | Regular backups; test restore procedures. |
| Filament update breaks compatibility | Admin panel fails | Test package against Filament’s beta releases. |
How can I help you explore Laravel packages today?