Files
grocy/controllers/LoginController.php

35 lines
1.0 KiB
PHP
Raw Normal View History

2018-04-11 19:49:35 +02:00
<?php
namespace Grocy\Controllers;
use Grocy\Services\SessionService;
2023-05-13 14:43:51 +02:00
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
2018-04-11 19:49:35 +02:00
class LoginController extends BaseController
{
2023-05-13 14:43:51 +02:00
public function LoginPage(Request $request, Response $response, array $args)
2020-08-31 20:40:31 +02:00
{
return $this->renderPage($response, 'login');
}
2023-05-13 14:43:51 +02:00
public function Logout(Request $request, Response $response, array $args)
2020-08-31 20:40:31 +02:00
{
$this->getSessionService()->RemoveSession($_COOKIE[SessionService::SESSION_COOKIE_NAME]);
2020-08-31 20:40:31 +02:00
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/'));
2018-04-11 19:49:35 +02:00
}
2023-05-13 14:43:51 +02:00
public function ProcessLogin(Request $request, Response $response, array $args)
2018-04-11 19:49:35 +02:00
{
$authMiddlewareClass = GROCY_AUTH_CLASS;
if ($authMiddlewareClass::ProcessLogin($request->getParsedBody()))
2018-04-11 19:49:35 +02:00
{
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/'));
2018-04-11 19:49:35 +02:00
}
else
{
return $response->withRedirect($this->AppContainer->get('UrlManager')->ConstructUrl('/login?invalid=true'));
2018-04-11 19:49:35 +02:00
}
}
}