add auth middleware
This commit is contained in:
parent
5775b4b3c3
commit
4c8b07103b
1 changed files with 27 additions and 0 deletions
27
src/MiddleWare/AuthMiddleware.php
Normal file
27
src/MiddleWare/AuthMiddleware.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace DigiWill\MiddleWare;
|
||||
|
||||
use Psr\Http\Server\MiddlewareInterface;
|
||||
use Psr\Http\Server\RequestHandlerInterface as Handler;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Psr7\Response as SlimResponse;
|
||||
|
||||
class AuthMiddleware implements MiddlewareInterface
|
||||
{
|
||||
public function process(Request $request, Handler $handler): Response
|
||||
{
|
||||
if (isset($_SESSION['user_id'])) {
|
||||
return $handler->handle($request);
|
||||
}
|
||||
|
||||
$uri = $request->getUri()->getPath();
|
||||
if ($uri !== '/login' && $uri !== '/logout') {
|
||||
$_SESSION['intended'] = $uri;
|
||||
}
|
||||
$resp = new SlimResponse(302);
|
||||
|
||||
return $resp->withHeader('Location', '/login');
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue