File: /home/posscale/www/printmanager/vendor/filament/filament/src/Http/Middleware/Authenticate.php
<?php
namespace Filament\Http\Middleware;
use Filament\Facades\Filament;
use Filament\Models\Contracts\FilamentUser;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
use Illuminate\Database\Eloquent\Model;
class Authenticate extends Middleware
{
/**
* @param array<string> $guards
*/
protected function authenticate($request, array $guards): void
{
$guard = Filament::auth();
if (! $guard->check()) {
$this->unauthenticated($request, $guards);
return; /** @phpstan-ignore-line */
}
$this->auth->shouldUse(Filament::getAuthGuard());
/** @var Model $user */
$user = $guard->user();
$panel = Filament::getCurrentPanel();
abort_if(
$user instanceof FilamentUser ?
(! $user->canAccessPanel($panel)) :
(config('app.env') !== 'local'),
403,
);
}
protected function redirectTo($request): ?string
{
return Filament::getLoginUrl();
}
}