diff --git a/core/modules/block/lib/Drupal/block/BlockAccessController.php b/core/modules/block/lib/Drupal/block/BlockAccessController.php index 6819fd9..ec6b417 100644 --- a/core/modules/block/lib/Drupal/block/BlockAccessController.php +++ b/core/modules/block/lib/Drupal/block/BlockAccessController.php @@ -43,7 +43,7 @@ protected function checkAccess(EntityInterface $entity, $operation, $langcode, U // For blocks with roles associated, if none of the user's roles matches // the settings from this block, access is denied. $visibility = $entity->get('visibility'); - if (!empty($visibility['role']['roles']) && !array_intersect(array_filter($visibility['role']['roles']), array_keys($user->roles))) { + if (!empty($visibility['role']['roles']) && !array_intersect(array_filter($visibility['role']['roles']), $user->roles)) { // No match. return FALSE; } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index f4acf0d..40a82b3 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -2295,9 +2295,10 @@ function user_build_filter_query(SelectInterface $query) { // the authenticated role. If so, then all users would be listed, and we can // skip adding it to the filter query. if ($key == 'permission') { - $account = entity_create('user', array()); - $account->uid = 'user_filter'; - $account->roles[] = DRUPAL_AUTHENTICATED_RID; + $account = entity_create('user', array( + 'uid' => 'user_filter', + 'roles' => array(DRUPAL_AUTHENTICATED_RID), + )); if (user_access($value, $account)) { continue; }