#1 Create a project with laravel new multiauth
#2 In .env file add your database name.
#2 Customize migration for user account add two extra fields or more as per your multi auth. In migration:
$table->boolean('is_user')->default(1);
$table->boolean('is_admin')->default(0);
#1 Run migration command php artisan migrate
#1 composer require laravel/ui
#2 npm install
#3 npm run dev
#4 php artisan ui bootstrap --auth
#1 Now create middleware for your different auth
-> php artisan make:middleware IsAdmin
-> php artisan make:middleware IsUser
#2 In HTTP>Middleware>Karnel.php
-> 'user' => \App\Http\Middleware\IsUser::class
-> 'admin' => \App\Http\Middleware\IsAdmin::class
You will use 'user' or 'admin' as your middleware
#3 Create a view for admnin and user view is created default by Laravel named as Home or you can create also
#4 Remove middleware part function from HomeController
Edit a function
public function handle($request, Closure $next)
{
if (Auth::user() && Auth::user()->is_admin == 1) {
return $next($request);
}
return redirect('/');
}
Edit a function (Fitst Condition will return to admin view if your are logged in as admin)
public function handle($request, Closure $next)
{
if (Auth::user() && Auth::user()->is_admin == 1) {
return redirect('/admin');
}
if (Auth::user() && Auth::user()->is_user == 1) {
return $next($request);
}
return redirect('/');
}
Route::middleware('admin')->group(function(){
Route::get('/admin', [AdminController::class, 'admin'])->name('admin');
});
Route::middleware('user')->group(function(){
Route::get('/home', [HomeController::class, 'index'])->name('home');
});