codeflextech/permission-manager
Plug-and-play Roles & Permissions management UI for Laravel 11 using spatie/laravel-permission + Livewire 3. Permission/role CRUD, grouped permission matrix, assign roles to users, dashboard stats, super admin protection, standalone CSS, configurable routes/middleware/guard.
Pros:
module.action) aligns with Laravel’s convention for permission naming (e.g., admin.manage, user.create).Cons:
spatie/laravel-permission tables exist; manual setup required if not pre-configured.spatie/laravel-permission and Livewire 3.auth:sanctum vs. auth:api).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Unproven Package | High | Evaluate via proof-of-concept in staging. Test edge cases (e.g., bulk role assignments, permission conflicts). |
| Livewire Dependency | Medium | Assess team familiarity; provide fallback UI (e.g., Blade templates) if Livewire is rejected. |
| Permission Sync | Medium | Validate data consistency between spatie/laravel-permission and the UI after CRUD operations. |
| CSS Conflicts | Low | Use php artisan vendor:publish --tag=permission-manager-assets to override styles. |
| Performance | Low | Monitor Livewire component hydration for large permission sets (e.g., >1000 permissions). |
spatie/laravel-permission’s default guard (web) or a custom one (e.g., api)? If custom, can the package’s middleware be extended?blog.edit) or shared across microservices? The package assumes a single Laravel instance.spatie/laravel-permission is installed (^6.0).composer require codeflextech/permission-manager
php artisan vendor:publish --tag=permission-manager-config
php artisan vendor:publish --tag=permission-manager-assets
config/permission-manager.php for:
user_model (if not App\Models\User).guard_name (e.g., api for Sanctum).route_prefix (e.g., /admin).spatie/laravel-permission tables don’t exist:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
php artisan migrate
app/Http/Kernel.php:
'permission-manager' => \CodeFlexTech\PermissionManager\Http\Middleware\PermissionManagerMiddleware::class,
admin/permissions) with:
Route::middleware(['auth', 'permission-manager'])->group(function () { ... });
spatie/laravel-permission models/queries.spatie/laravel-permission tables (permissions, roles, model_has_roles, role_has_permissions).codeflextech) for support (though community is small).livewire:log for component errors.spatie/laravel-permission query debugging.spatie/laravel-permission is optimized but mayHow can I help you explore Laravel packages today?