Patched to Drupal 8.4.8 level. See https://www.drupal.org/sa-core-2018-004 and patch...
[yaffs-website] / web / core / lib / Drupal / Core / Access / DefaultAccessCheck.php
1 <?php
2
3 namespace Drupal\Core\Access;
4
5 use Drupal\Core\Routing\Access\AccessInterface as RoutingAccessInterface;
6 use Symfony\Component\Routing\Route;
7
8 /**
9  * Allows access to routes to be controlled by an '_access' boolean parameter.
10  */
11 class DefaultAccessCheck implements RoutingAccessInterface {
12
13   /**
14    * Checks access to the route based on the _access parameter.
15    *
16    * @param \Symfony\Component\Routing\Route $route
17    *   The route to check against.
18    *
19    * @return \Drupal\Core\Access\AccessResultInterface
20    *   The access result.
21    */
22   public function access(Route $route) {
23     if ($route->getRequirement('_access') === 'TRUE') {
24       return AccessResult::allowed();
25     }
26     elseif ($route->getRequirement('_access') === 'FALSE') {
27       return AccessResult::forbidden();
28     }
29     else {
30       return AccessResult::neutral();
31     }
32   }
33
34 }