it-swarm.asia

Berikan izin untuk peran khusus dari hook_install secara terprogram

Versi Drupal: 8.5.5

Perlu menetapkan izin untuk peran yang ada selama pemasangan modul: Saya menggunakan kode di bawah ini di 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();
    }
}

Izin hibah di atas tidak berfungsi. Saya juga sudah mencoba

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

Di atas hook_install tidak berfungsi.

Tolong bantu

2

Coba ini:

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