Fix setup/auth flow and harden storage write failures
This commit is contained in:
+11
-2
@@ -10,7 +10,13 @@ final class Auth
|
||||
|
||||
public function check(): bool
|
||||
{
|
||||
return isset($_SESSION['user']) && is_array($_SESSION['user']);
|
||||
if (!isset($_SESSION['user']) || !is_array($_SESSION['user'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$username = $_SESSION['user']['username'] ?? null;
|
||||
|
||||
return is_string($username) && $username !== '';
|
||||
}
|
||||
|
||||
public function user(): ?array
|
||||
@@ -37,6 +43,10 @@ final class Auth
|
||||
|
||||
public function login(array $user): void
|
||||
{
|
||||
if (!isset($user['username']) || !is_string($user['username']) || $user['username'] === '') {
|
||||
throw new RuntimeException('Der Benutzer konnte nicht angemeldet werden.');
|
||||
}
|
||||
|
||||
session_regenerate_id(true);
|
||||
|
||||
$_SESSION['user'] = [
|
||||
@@ -51,4 +61,3 @@ final class Auth
|
||||
session_regenerate_id(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user