diff --git a/bootstrap.php b/bootstrap.php index 847028f3..ed78761a 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -43,7 +43,7 @@ if (!$applicationService->IsDemoInstallation()) } // Base route -$app->get('/', 'Grocy\Controllers\LoginController:Root'); +$app->get('/', 'Grocy\Controllers\LoginController:Root')->setName('root'); // Login routes $app->get('/login', 'Grocy\Controllers\LoginController:LoginPage')->setName('login'); diff --git a/middleware/SessionAuthMiddleware.php b/middleware/SessionAuthMiddleware.php index 9e5e27a4..07d31b93 100644 --- a/middleware/SessionAuthMiddleware.php +++ b/middleware/SessionAuthMiddleware.php @@ -11,14 +11,21 @@ class SessionAuthMiddleware extends BaseMiddleware $route = $request->getAttribute('route'); $routeName = $route->getName(); - $sessionService = new SessionService(); - if ((!isset($_COOKIE['grocy_session']) || !$sessionService->IsValidSession($_COOKIE['grocy_session'])) && $routeName !== 'login') + if ($routeName === 'root') { - $response = $response->withRedirect('/login'); + $response = $next($request, $response); } else { - $response = $next($request, $response); + $sessionService = new SessionService(); + if ((!isset($_COOKIE['grocy_session']) || !$sessionService->IsValidSession($_COOKIE['grocy_session'])) && $routeName !== 'login') + { + $response = $response->withRedirect('/login'); + } + else + { + $response = $next($request, $response); + } } return $response;