MigrateAccessCheck.php

Same filename and directory in other branches
  1. 8.9.x core/modules/migrate_drupal_ui/src/MigrateAccessCheck.php
  2. 10 core/modules/migrate_drupal_ui/src/MigrateAccessCheck.php
  3. 11.x core/modules/migrate_drupal_ui/src/MigrateAccessCheck.php

Namespace

Drupal\migrate_drupal_ui

File

core/modules/migrate_drupal_ui/src/MigrateAccessCheck.php

View source
<?php

namespace Drupal\migrate_drupal_ui;

use Drupal\Core\Access\AccessResultAllowed;
use Drupal\Core\Session\AccountInterface;

/**
 * Checks access for migrate_drupal_ui routes.
 *
 * The Migrate Drupal UI can only be used by user 1. This is because any other
 * user might have different permissions on the source and target site.
 *
 * This class is designed to be used with '_custom_access' route requirement.
 *
 * @see \Drupal\Core\Access\CustomAccessCheck
 */
class MigrateAccessCheck {
    
    /**
     * Checks if the user is user 1 and grants access if so.
     *
     * @param \Drupal\Core\Session\AccountInterface $account
     *   The current user account.
     *
     * @return \Drupal\Core\Access\AccessResult
     *   The access result.
     */
    public function checkAccess(AccountInterface $account) {
        // The access result is uncacheable because it is just limiting access to
        // the migrate UI which is not worth caching.
        return AccessResultAllowed::allowedIf((int) $account->id() === 1)
            ->mergeCacheMaxAge(0);
    }

}

Classes

Title Deprecated Summary
MigrateAccessCheck Checks access for migrate_drupal_ui routes.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.