it-swarm.com.de

Erteilen Sie programmgesteuert die Berechtigung für eine benutzerdefinierte Rolle von hook_install

Drupal-Version: 8.5.5

Müssen Sie der vorhandenen Rolle während der Modulinstallation die Berechtigung zuweisen: Verwenden Sie den folgenden Code in hook_install:

use Drupal\user\RoleInterface;
use Drupal\user\UserInterface;
function hook_install() {

 $permission = 'test permission';
    $tester_rid = RoleInterface::TESTER;

    if ('tester' == Role::load($tester_rid)) {
      $tester_role->grantPermission($permission);
      $tester_role->save();
    }
}

Die oben genannte Erlaubnis funktioniert nicht. Ich habe es auch mit versucht

user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, array(
      'my custom permission',
    ));
user_role_grant_permissions(RoleInterface::TESTER, array(
      'my custom permission',
    ));

Oben hook_install funktioniert nicht.

Bitte helfen Sie

2

Versuche dies:

use Drupal\user\Entity\Role;

function mymodule_install() {
  $role_object = Role::load('my custom role name');
  $role_object->grantPermission('my custom permission name');
  $role_object->save();
}
4
Andy Lasda