Files
mareike/app/Middleware/MainAdminRoleMiddleware.php
2026-09-04 09:27:48 +02:00

31 lines
916 B
PHP

<?php
namespace App\Middleware;
use App\Providers\AuthCheckProvider;
use Closure;
/**
* Nur für Hauptadministrator*innen.
*
* Abgegrenzt von {@see AdminRoleMiddleware}, die zusätzlich `ROLE_GROUP_LEADER` durchlässt: die
* Dokumentvorlagen gelten app-weit für alle Mandanten, das darf keine Gruppenleitung ändern.
*/
class MainAdminRoleMiddleware
{
public function handle($request, Closure $next)
{
if (currentUser() === null) {
return redirect('/login')->with('message', 'Du musst eingeloggt sein.');
}
// Bewusst `isMainAdministrator()` statt `getUserRole()`: geprüft wird `user_role_main`, nicht die
// auf einem Sub-Tenant abgeleitete Rolle.
if (!new AuthCheckProvider()->isMainAdministrator()) {
return redirect('/admin')->with('message', 'Du bist dazu nicht berechtigt.');
}
return $next($request);
}
}