diff --git a/core/modules/aggregator/aggregator.pages.inc b/core/modules/aggregator/aggregator.pages.inc
index 0fa2bd8..bc2f683 100644
--- a/core/modules/aggregator/aggregator.pages.inc
+++ b/core/modules/aggregator/aggregator.pages.inc
@@ -144,7 +144,8 @@ function aggregator_load_feed_items($type, $data = NULL, $limit = 20) {
  *   The rendered list of items for the feed.
  */
 function _aggregator_page_list($items, $op, $feed_source = '') {
-  if (user_access('administer news feeds') && ($op == 'categorize')) {
+  $account = Drupal::request()->attributes->get('_account');
+  if ($account->hasPermission('administer news feeds') && ($op == 'categorize')) {
     // Get form data.
     $build = aggregator_categorize_items($items, $feed_source);
   }
@@ -457,7 +458,9 @@ function template_preprocess_aggregator_feed_source(&$variables) {
     $variables['last_checked'] = t('never');
   }
 
-  if (user_access('administer news feeds')) {
+  $account = Drupal::request()->attributes->get('_account');
+
+  if ($account->hasPermission('administer news feeds')) {
     $variables['last_checked'] = l($variables['last_checked'], 'admin/config/services/aggregator');
   }
 
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Access/CategoriesAccessCheck.php b/core/modules/aggregator/lib/Drupal/aggregator/Access/CategoriesAccessCheck.php
index 2429572..3a064f4 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Access/CategoriesAccessCheck.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Access/CategoriesAccessCheck.php
@@ -45,9 +45,8 @@ public function appliesTo() {
    * {@inheritdoc}
    */
   public function access(Route $route, Request $request) {
-    // @todo Replace user_access() with a correctly injected and session-using
-    // alternative.
-    return user_access('access news feeds') && (bool) $this->database->queryRange('SELECT 1 FROM {aggregator_category}', 0, 1)->fetchField();
+    $account = \Drupal::request()->attributes->get('_account');
+    return $account->hasPermission('access news feeds') && (bool) $this->database->queryRange('SELECT 1 FROM {aggregator_category}', 0, 1)->fetchField();
   }
 
 }
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorCategoryBlock.php b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorCategoryBlock.php
index c9fe040..62257c2 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorCategoryBlock.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorCategoryBlock.php
@@ -38,7 +38,8 @@ public function settings() {
    */
   public function access() {
     // Only grant access to users with the 'access news feeds' permission.
-    return user_access('access news feeds');
+    $account = \Drupal::request()->attributes->get('_account');
+    return $account->hasPermission('access news feeds');
   }
 
   /**
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorFeedBlock.php b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorFeedBlock.php
index 4b002a2..9e35262 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorFeedBlock.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Block/AggregatorFeedBlock.php
@@ -38,7 +38,8 @@ public function settings() {
    */
   public function access() {
     // Only grant access to users with the 'access news feeds' permission.
-    return user_access('access news feeds');
+    $account = \Drupal::request()->attributes->get('_account');
+    return $account->hasPermission('access news feeds');
   }
 
   /**
