diff --git a/modules/core/role/modules/account_admin/farm_role_account_admin.module b/modules/core/role/modules/account_admin/farm_role_account_admin.module new file mode 100644 index 000000000..d56f3e58d --- /dev/null +++ b/modules/core/role/modules/account_admin/farm_role_account_admin.module @@ -0,0 +1,22 @@ +id() == 1 && $account->id() != 1) { + return AccessResult::forbidden(); + } + return AccessResult::neutral(); +} diff --git a/modules/core/role/modules/account_admin/tests/src/Functional/UserAccessTest.php b/modules/core/role/modules/account_admin/tests/src/Functional/UserAccessTest.php new file mode 100644 index 000000000..c2d6f68bc --- /dev/null +++ b/modules/core/role/modules/account_admin/tests/src/Functional/UserAccessTest.php @@ -0,0 +1,39 @@ +createUser(); + $user->addRole('farm_account_admin'); + $user->save(); + $this->drupalLogin($user); + + // Confirm that the user cannot access user 1. + $this->drupalGet('user/1'); + $this->assertSession()->statusCodeEquals(403); + $this->drupalGet('user/1/edit'); + $this->assertSession()->statusCodeEquals(403); + } + +}