Просмотр файла app/Middleware/UserAuthMiddleware.php

Размер файла: 1Kb
  1. <?php
  2.  
  3. namespace App\Middleware;
  4.  
  5. use App\Models\User;
  6. use App\Services\Session;
  7. use Psr\Http\Message\ResponseInterface as Response;
  8. use Psr\Http\Message\ServerRequestInterface as Request;
  9. use Psr\Http\Server\MiddlewareInterface as Middleware;
  10. use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
  11.  
  12. final class UserAuthMiddleware implements Middleware
  13. {
  14. public function __construct(
  15. private Session $session
  16. ) {}
  17.  
  18. public function process(
  19. Request $request,
  20. RequestHandler $handler
  21. ): Response {
  22. if (isset($_COOKIE['login'], $_COOKIE['password']) && ! $this->session->has('login')) {
  23. $user = User::query()->where('login', $_COOKIE['login'])->first();
  24.  
  25. if ($user && $_COOKIE['login'] === $user->login && $_COOKIE['password'] === $user->password) {
  26. $this->session->set('login', $user->login);
  27. $this->session->set('password', $user->password);
  28. }
  29. }
  30.  
  31. return $handler->handle($request);
  32. }
  33. }