Middleware berjalan sebelum atau sesudah handler route. Lanjit menyediakan middleware keamanan umum dan mendukung middleware aplikasi.
Membuat middleware
node artisan make:middleware EnsureTeamMember
export class EnsureTeamMember {
async handle(request, next, response) {
if (!request.user?.team_id) {
return response.json({ message: 'Team required.' }, 403);
}
return next();
}
}
Mendaftarkan alias
Daftarkan alias di bootstrap/app.js agar route tidak bergantung pada path class.
.withMiddleware((middleware) => {
middleware.alias({
team: EnsureTeamMember,
auth: AuthenticateMiddleware,
});
middleware.append(SecurityHeadersMiddleware);
})
append() memasang middleware global. Alias dipasang pada route dengan middleware().
Route.get('/team', handler).middleware('session', 'auth', 'team');
Middleware bawaan
| Alias | Fungsi |
|---|---|
session |
Membaca, membuat, dan menyimpan session |
csrf |
Memvalidasi token CSRF untuk request mutasi |
cors |
Menambahkan header CORS dan menangani preflight |
throttle |
Membatasi request berdasarkan key dan waktu |
auth |
Memastikan user sudah terautentikasi |
powered |
Menambahkan header identitas aplikasi contoh |
Security headers middleware dipasang global pada skeleton awal.
Parameter middleware
Parameter dipisahkan dengan koma setelah tanda titik dua.
Route.post('/api/import', handler).middleware('throttle:10,1');
Contoh tersebut membatasi route ke 10 request per satu menit sesuai implementasi throttle bawaan.