islamrumon/laravel-acl
Laravel ACL provides database-backed roles, groups, and permissions for Laravel 5.8+. Note: unmaintained since Jan 2024; consider spatie/laravel-permission instead.
can:permission) for seamless route/endpoint protection, reducing custom boilerplate.roles, permissions, and role_permission tables. Existing projects must account for schema changes or conflicts (e.g., if using a custom auth system).spatie/laravel-permission) or custom permission logic. Audit existing auth/permission systems pre-integration.spatie/laravel-permission?
users or permissions tables?can:permission middleware).php artisan vendor:publish --provider="MateusJunges\LaravelAcl\AclServiceProvider").can:permission in route middleware or controllers.Route::middleware(['auth', 'can:permission'])->group(function () {
// Protected routes
});
Auth::user()->can('edit-post')).HasApiTokens, MustVerifyEmail).admin role includes editor permissions).laravel-breeze, jetstream, or fortify by ensuring consistent permission naming.Permission and Role models to add custom fields (e.g., description, priority).dd() or Laravel Debugbar to inspect role/permission assignments.if (!Auth::user()->can('action')) {
Log::warning('Permission denied for ' . Auth::user()->email);
}
// Eager-load permissions for a user
$user->load('permissions');
Cache::remember("user-{$user->id}-permissions", now()->addHours(1), function () {
return $user->permissions;
});
role_permission and model_has_permissions tables.DB::transaction(function () {
// Run migrations/seeding
});
can:permission vs. can:role) may lock out users. Test thoroughly.syncPermissions()) instead of direct SQL.assignRoleToUser(), revokePermissionFromRole()).How can I help you explore Laravel packages today?