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.
If you want to check for single permissions using the laravel default's can method, you can use the laravel built-in can middleware:
Route::group(['middleware' => ['can:create posts']], function () {
});
This package also provides you three custom middlewares:
To use them, you must add it to your app/Http/Kernel.php file:
protected $routeMiddleware = [
'group' => \Junges\ACL\Middlewares\GroupMiddleware::class,
'permission' => \Junges\ACL\Middlewares\PermissionMiddleware::class,
'permission_or_group' => \Junges\ACL\Middlewares\PermissionOrGroupMiddleware::class
];
Then you can protect your routes using middleware rules:
Route::group(['middleware' => ['permission:create posts']], function() {
});
Route::group(['middleware' => ['group:super admin']], function() {
});
Route::group(['middleware' => ['permission:create posts', 'group:manager']], function() {
});
Route::group(['middleware' => ['permission:create posts|edit posts']], function() {
});
Route::group(['middleware' => ['permission_or_group:manage posts']], function() {
});
How can I help you explore Laravel packages today?