28 lines
713 B
PHP
28 lines
713 B
PHP
<?php
|
|
|
|
namespace App\Middleware;
|
|
|
|
use App\Core\Request;
|
|
use App\Core\Response;
|
|
use App\Core\Session;
|
|
|
|
class AdminMiddleware
|
|
{
|
|
public function handle(Request $request, Response $response): void
|
|
{
|
|
$session = new Session();
|
|
|
|
// First check if user is logged in
|
|
if (!$session->isLoggedIn()) {
|
|
$session->flash('error', 'Bitte melden Sie sich an, um fortzufahren.');
|
|
$response->redirect('/login')->send();
|
|
}
|
|
|
|
// Check if user has admin role
|
|
if (!$session->isAdmin()) {
|
|
$session->flash('error', 'Sie haben keine Berechtigung für diese Aktion.');
|
|
$response->redirect('/dashboard')->send();
|
|
}
|
|
}
|
|
}
|