dchadwick/web/modules/custom/nodepath_access/src/EventSubscriber/KernelRequestNodePathCheck.php
2024-09-07 14:04:34 -04:00

46 lines
1.2 KiB
PHP

<?php
namespace Drupal\nodepath_access\EventSubscriber;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
/**
* Class EntityTypeSubscriber.
*
* @package Drupal\nodepath_access\EventSubscriber
*/
class KernelRequestNodePathCheck implements EventSubscriberInterface {
/**
* {@inheritdoc}
*
* @return array
* The event names to listen for, and the methods that should be executed.
*/
public static function getSubscribedEvents() {
return [
KernelEvents::REQUEST => 'onRequest',
];
}
/**
* React to a config object being saved.
*/
public function onRequest(RequestEvent $event) {
$user = \Drupal::currentUser();
$user_roles = $user->getRoles();
if (!in_array('anonymous', $user_roles)) {
return;
}
$current_request = \Drupal::requestStack()->getCurrentRequest();
$path = \Drupal::request()->getRequestUri();
if (str_contains($path, '/node/')) {
/* throw new AccessDeniedHttpException(); */
}
}
}