diff --git a/core/modules/user/src/Form/EntityPermissionsForm.php b/core/modules/user/src/Form/EntityPermissionsForm.php index d1a49cf4568fe5124d21634221b1227d2ce48910..126eb7b975b8067a1e63ab1802d3f77e32e958f9 100644 --- a/core/modules/user/src/Form/EntityPermissionsForm.php +++ b/core/modules/user/src/Form/EntityPermissionsForm.php @@ -153,6 +153,10 @@ public function buildForm(array $form, FormStateInterface $form_state, string $b * The access result. */ public function access(Route $route, RouteMatchInterface $route_match, $bundle = NULL): AccessResultInterface { + $permission = $route->getRequirement('_permission'); + if ($permission && !$this->currentUser()->hasPermission($permission)) { + return AccessResult::neutral()->cachePerPermissions(); + } // Set $this->bundle for use by ::permissionsByProvider(). if ($bundle instanceof EntityInterface) { $this->bundle = $bundle;