modules/custom/your_module/your_module.services.yml
services: your_module.event_subscriber: class: Drupal\your_module\EventSubscriber\YourModuleSubscriber tags: - {name: event_subscriber}
modules/custom/your_module/src/EventSubscriber/Your_moduleSubscriber.php
<?php namespace Drupal\your_module\EventSubscriber; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface; class YourModuleSubscriber implements EventSubscriberInterface { public function checkForRedirection(GetResponseEvent $event) { // 参考)一部の例外を除いて匿名ユーザーはloginページに飛ばす if (\Drupal::currentUser()->isAnonymous()) { if (!preg_match('!^(/user/|/sended-onetime-link-mail)!', $_SERVER['REQUEST_URI'])) { $path = \Drupal\Core\Url::fromUserInput('/user/login'); $response = new RedirectResponse($path->toString()); $response->send(); } } } /** * {@inheritdoc} */ public static function getSubscribedEvents() { $events[KernelEvents::REQUEST][] = array('checkForRedirection'); return $events; } }
コメント
動的キャッシュ再生成時に越させたい場合は 優先度 > 27
パーマリンク Submitted by actbrain on 2018/04/02 11:05.
動的キャッシュ再生成時に来させたい場合は 優先度 > 27 にする。
何が何でも毎回来させたい場合は 優先度 > 200 にする。
ページ