Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

croftCoder's avatar

Laravel Jetstream Log In MaintenanceMode Middleware

i'm want to lock the site so that only logged in users can access it. using laravel jetstream for authentication. the problem is when i log in, it keeps redirecting to the log in page. any help?

MaintenanceMode Middleware

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Redirect;

class MaintenanceMode
{
    public function handle($request, Closure $next)
    {
        // Check if maintenance mode is enabled via the MAINTENANCE_MODE environment variable
        if (env('MAINTENANCE_MODE', false)) {
            // Allow requests to the login page and logout route
            if ($this->isLoginPage($request) || $this->isLogoutRoute($request)) {
                return $next($request);
            }

            // Redirect to login page if user is not authenticated
            if (Auth::check()) {
                // dd('not locked');
                return $next($request);
            } else {
                // dd('locked');
                return Redirect::route('login');
            }
        }

        return $next($request);
    }

    private function isLoginPage($request)
    {
        return Route::is('login');
    }
    
    private function isLogoutRoute($request)
    {
        return Route::is('logout');
    }
}
0 likes
0 replies

Please or to participate in this conversation.