32 lines
818 B
PHP
32 lines
818 B
PHP
<?php
|
|
|
|
namespace App\Middleware;
|
|
|
|
use App\Core\Request;
|
|
use App\Core\Response;
|
|
use App\Core\Session;
|
|
|
|
class AuthMiddleware
|
|
{
|
|
public function handle(Request $request, Response $response): void
|
|
{
|
|
$session = new Session();
|
|
|
|
// 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 session is expired
|
|
if ($session->isExpired()) {
|
|
$session->logout();
|
|
$session->flash('error', 'Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.');
|
|
$response->redirect('/login')->send();
|
|
}
|
|
|
|
// Update last activity
|
|
$session->setLastActivity();
|
|
}
|
|
}
|