Stars: 655
Forks: 263
Pull Requests: 12
Issues: 74
Watchers: 54
Last Updated: 2022-08-09 18:38:22
Laravel Admin Panel
License: MIT License
Languages: PHP
An admin panel for managing users, roles, permissions & crud.
Laravel >=5.5
PHP >= 7.0
Run
composer require appzcoder/laravel-admin
Install the admin package.
php artisan laravel-admin:install
Service provider will be discovered automatically.
Make sure your user model's has a HasRoles
trait app/Models/User.php.
class User extends Authenticatable
{
use Notifiable, HasRoles;
...
You can generate CRUD easily through generator tool now.
Note: If you are using Laravel 7+ then scaffold the authentication with bootstrap for a better experience.
Create some permissions.
Create some roles.
Assign permission(s) to role.
Create user(s) with role.
For checking authenticated user's role see below:
// Add role middleware in app/Http/Kernel.php
protected $routeMiddleware = [
...
'role' => \App\Http\Middleware\CheckRole::class,
];
// Check role anywhere
if (Auth::check() && Auth::user()->hasRole('admin')) {
// Do admin stuff here
} else {
// Do nothing
}
// Check role in route middleware
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['auth', 'role:admin']], function () {
Route::get('/', ['uses' => 'AdminController@index']);
});
// Check permission in route middleware
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['auth', 'can:write_user']], function () {
Route::get('/', ['uses' => 'AdminController@index']);
});
For checking permissions see below:
if ($user->can('permission-name')) {
// Do something
}
Learn more about ACL from here
For activity log please read spatie/laravel-activitylog
docs
Sohel Amin
This project is licensed under the MIT License - see the License File for details