Admin interface with login for Laravel
Extend your Laravel App with an admin interface out-of-the-box. This packages creates an admin including a login page. The interface is fully compatible with the default bootstrap interface which is included in your Laravel app., (*1)
note: This package is in alpha state, use it in production on own risk., (*2)
Add this package directly with composer:, (*3)
composer require laravel-admin/base
Add the service provider to your app.php config file, (*4)
LaravelAdmin\Base\BaseServiceProvider::class,
Add the admin middleware in app/Http/Kernel.php file in the $routeMiddleware array., (*5)
'auth.admin' => \LaravelAdmin\Base\Middleware\AuthenticateAdminUser::class
The admin package includes a database migration which adds a role field to your users table. So make sure you run the artisan migrate command., (*6)
You can publish the config, so you can manage this in config/admin.php., (*7)
php artisan vendor:publish --tag=admin-config
Defining the properties of all admin routes. By default all routes are separated on a specific domain which you can define as ADMIN_URL in your .env file. But is is also possible to use a subdirectory to replace the domain property by a prefix property like 'admin'., (*8)
Definition of the middleware what will be used after login. By default you can use the middleware above., (*9)
Array with the available user roles., (*10)
Array with the roles who can login in the admin, (*11)
Array of js files which will be added to the admin interface, (*12)
Array of css files which will be added to the admin interface, (*13)
Your admin menu structure. Fill this array with items that have a name and url attribute. For a second level you can give an item the attribute children to build a subarray with submenu items., (*14)
Scaffold your base admin routes within your routes/web.php file, (*15)
Admin::routes(function() { // Add your routes });
Within the closure you can add all your routes on a route group type of definition., (*16)
Now you can access the admin by entering the url as defined in the config. Like http://admin.mydomain.com or http://mydomain.com/admin, (*17)