web-dev-qa-db-fra.com

Accorder l'autorisation pour le rôle personnalisé de hook_install par programme

Version Drupal: 8.5.5

Besoin d'attribuer une autorisation au rôle existant lors de l'installation du module: j'utilise le code ci-dessous dans 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();
    }
}

L'autorisation de subvention ci-dessus ne fonctionne pas. J'ai aussi essayé avec

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

Au-dessus de hook_install ne fonctionne pas.

Aide de Pls

2
Sivagami Natarajan

Essaye ça:

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