Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

29 рядки
661B

  1. <?php
  2. declare(strict_types=1);
  3. namespace Core\Auth;
  4. use Core\Request;
  5. use Core\Response;
  6. class AuthMiddleware
  7. {
  8. /**
  9. * Check authentication (and optionally a required permission).
  10. * Returns a redirect/error Response when the check fails, null when it passes.
  11. */
  12. public function handle(Request $request, ?string $permission = null): ?Response
  13. {
  14. if (!auth()->check()) {
  15. return Response::redirect('/login');
  16. }
  17. if ($permission !== null && !auth()->can($permission)) {
  18. return Response::notFound('You do not have permission to access this page.');
  19. }
  20. return null;
  21. }
  22. }

Powered by TurnKey Linux.