35 lines
1.3 KiB
PHP
35 lines
1.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
use Illuminate\Foundation\Application;
|
||
|
|
use Illuminate\Foundation\Configuration\Exceptions;
|
||
|
|
use Illuminate\Foundation\Configuration\Middleware;
|
||
|
|
|
||
|
|
return Application::configure(basePath: dirname(__DIR__))
|
||
|
|
->withRouting(
|
||
|
|
web: __DIR__.'/../routes/web.php',
|
||
|
|
commands: __DIR__.'/../routes/console.php',
|
||
|
|
health: '/up',
|
||
|
|
)
|
||
|
|
->withMiddleware(function (Middleware $middleware): void {
|
||
|
|
|
||
|
|
// 1. Mendaftarkan Alias Middleware (Best Practice)
|
||
|
|
$middleware->alias([
|
||
|
|
// Alias untuk proteksi ganti password
|
||
|
|
'force.password' => \App\Http\Middleware\ForcePasswordChange::class,
|
||
|
|
|
||
|
|
// Alias wajib untuk Spatie Permission
|
||
|
|
'role' => \Spatie\Permission\Middleware\RoleMiddleware::class,
|
||
|
|
'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class,
|
||
|
|
'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class,
|
||
|
|
]);
|
||
|
|
|
||
|
|
// 2. Mendaftarkan Middleware Global ke grup 'web'
|
||
|
|
// Penulisan ini lebih rapi dan merupakan standar baru Laravel
|
||
|
|
$middleware->web(append: [
|
||
|
|
\App\Http\Middleware\ForcePasswordChange::class,
|
||
|
|
]);
|
||
|
|
|
||
|
|
})
|
||
|
|
->withExceptions(function (Exceptions $exceptions): void {
|
||
|
|
//
|
||
|
|
})->create();
|