28 lines
819 B
PHP
28 lines
819 B
PHP
|
<?php
|
||
|
|
||
|
namespace Shaarli\Front;
|
||
|
|
||
|
use Slim\Http\Request;
|
||
|
use Slim\Http\Response;
|
||
|
|
||
|
/**
|
||
|
* Middleware used for controller requiring to be authenticated.
|
||
|
* It extends ShaarliMiddleware, and just make sure that the user is authenticated.
|
||
|
* Otherwise, it redirects to the login page.
|
||
|
*/
|
||
|
class ShaarliAdminMiddleware extends ShaarliMiddleware
|
||
|
{
|
||
|
public function __invoke(Request $request, Response $response, callable $next): Response
|
||
|
{
|
||
|
$this->initBasePath($request);
|
||
|
|
||
|
if (true !== $this->container->loginManager->isLoggedIn()) {
|
||
|
$returnUrl = urlencode($this->container->environment['REQUEST_URI']);
|
||
|
|
||
|
return $response->withRedirect($this->container->basePath . '/login?returnurl=' . $returnUrl);
|
||
|
}
|
||
|
|
||
|
return parent::__invoke($request, $response, $next);
|
||
|
}
|
||
|
}
|