Route::middleware('auth')->group(function () {
Route::get('/foo', 'HomeController@foo')->name('foo');
Route::get('/bar', 'HomeController@bar')->name('bar');
});
# routes/web.php
Dans cet exemple, /foo et /bar vont utiliser le middleware auth, ce qui va permettre que ses routes soient uniquement accessibles à un compte connecté.
Route::get('/foo', 'HomeController@foo')->name('foo')->middleware('auth');
php artisan make:middleware nom
Le middleware ce trouve dans app/Http/Middleware/nom.php
Dans app/Http/Kernel.php
protected $middlewareAliases = [
........
'nom' => \App\Http\Middleware\nom::class,
];
Dans app/Http/Middleware/nom.php
class IsAdmin
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
/*
| Logique
|
| if (! auth()->user()->admin == 0) {
| abort(403);
|}
|
*/
return $next($request);
}
}