An admin panel for managing users, roles, permissions & crud.
Laravel >=5.1
PHP >= 5.5.9
-
Run
composer require appzcoder/laravel-admin
-
Install the admin package.
php artisan laravel-admin:install
-
Make sure your user model's has a
HasRoles
trait app/User.php.class User extends Authenticatable { use Notifiable, HasRoles; ...
-
You can generate CRUD easily through generator tool now.
-
Run
composer require appzcoder/laravel-admin
-
Add service provider to config/app.php file.
'providers' => [ ... Appzcoder\LaravelAdmin\LaravelAdminServiceProvider::class, // For crud generator & html Appzcoder\CrudGenerator\CrudGeneratorServiceProvider::class, Collective\Html\HtmlServiceProvider::class, ],
-
Add Collective/Html aliases to config/app.php file.
'aliases' => [ ... 'Form' => Collective\Html\FormFacade::class, 'HTML' => Collective\Html\HtmlFacade::class, ],
-
Run
composer dump-autoload
-
Install the admin package.
php artisan laravel-admin:install
-
Make sure your user model's has a
HasRoles
trait app/User.php.class User extends Authenticatable { use Notifiable, HasRoles; ...
-
You can generate CRUD easily through generator tool now.
-
Create some roles.
-
Create some permissions.
-
Give permission(s) to a role.
-
Create user(s) with role.
-
For checking authenticated user's role see below:
// Add roles middleware in app/Http/Kernel.php protected $routeMiddleware = [ ... 'roles' => \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', 'roles'], 'roles' => 'admin'], function () { Route::get('/', ['uses' => 'AdminController@index']); });
-
For checking permissions see below:
if($user->can('permission-name')) { // Do something }
Learn more about ACL from here