it-swarm-ko.tech

현재 로그인 한 사용자 역할

Drupal 8?에서 현재 로그인 한 사용자의 역할을 얻는 방법?

예를 들어 D7에서는 $GLOBALS['user']->roles;

19
graceman9

다음과 같은 것 :

$current_user = \Drupal::currentUser();
$roles = $current_user->getRoles();

다음과 같은 배열을 반환합니다.

Array
(
  [0] => authenticated
  [1] => administrator
  [2] => some_other_role
)

배열 값이 역할 ID 인 경우 (Drupal 7)에있는 역할의 시스템 이름과 동일합니다.) OO 코드에서 적절한 메커니즘을 사용하여 현재를 가져옵니다. 컨테이너의 사용자, 예.

$current_user = $container->get('current_user');
34
mpdonadio

drupal 8에서 현재 사용자 역할을 얻으려면-

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
1
Wasim Khan

이것이 내가하는 방법입니다.

// Get actual user role.
$current_user_roles = \Drupal::currentUser()->getRoles();

// Check if user is not admin.
if (!in_array('administrator', $current_user_roles)) {

// Check if user is an admin.
if (in_array('administrator', $current_user_roles)) {
1
lucasvm1980