Files
dockergprompt/app/Http/Middleware/EnsureUserIsApproved.php
2026-09-01 09:22:30 -03:00

33 lines
815 B
PHP
Executable File

<?php
declare(strict_types=1);
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Symfony\Component\HttpFoundation\Response;
class EnsureUserIsApproved
{
/**
* Handle an incoming request.
*
* @param Closure(Request): Response $next
*/
public function handle(Request $request, Closure $next): Response
{
if (Auth::check() && !Auth::user()->is_approved && Auth::user()->role !== 'superadmin') {
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('login')
->with('error', 'Sua conta está aguardando aprovação do SuperAdmin.');
}
return $next($request);
}
}