mirror of
https://github.com/grocy/grocy.git
synced 2025-08-15 18:26:00 +00:00
Fix session table missing on start with empty database
This commit is contained in:
@@ -43,7 +43,7 @@ if (!$applicationService->IsDemoInstallation())
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Base route
|
// Base route
|
||||||
$app->get('/', 'Grocy\Controllers\LoginController:Root');
|
$app->get('/', 'Grocy\Controllers\LoginController:Root')->setName('root');
|
||||||
|
|
||||||
// Login routes
|
// Login routes
|
||||||
$app->get('/login', 'Grocy\Controllers\LoginController:LoginPage')->setName('login');
|
$app->get('/login', 'Grocy\Controllers\LoginController:LoginPage')->setName('login');
|
||||||
|
@@ -11,14 +11,21 @@ class SessionAuthMiddleware extends BaseMiddleware
|
|||||||
$route = $request->getAttribute('route');
|
$route = $request->getAttribute('route');
|
||||||
$routeName = $route->getName();
|
$routeName = $route->getName();
|
||||||
|
|
||||||
$sessionService = new SessionService();
|
if ($routeName === 'root')
|
||||||
if ((!isset($_COOKIE['grocy_session']) || !$sessionService->IsValidSession($_COOKIE['grocy_session'])) && $routeName !== 'login')
|
|
||||||
{
|
{
|
||||||
$response = $response->withRedirect('/login');
|
$response = $next($request, $response);
|
||||||
}
|
}
|
||||||
else
|
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;
|
return $response;
|
||||||
|
Reference in New Issue
Block a user