현재 로그인 한 사용자 역할


18

Drupal 8에서 현재 로그인 한 사용자의 역할을 얻는 방법은 무엇입니까?

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

답변:


31

다음과 같은 것 :

$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');

좋은 답변입니다. 코드를 추가해 주 $container시겠습니까?
눈동자

OO 컨텍스트에서 컨테이너에 액세스하려면 @Pupil 클래스를 작성하고 종속성 주입을 사용하여 여기에 표시된대로 호출하십시오 (예 : drupal.org/docs/8/api/services-and-dependency-injection/…
wranvaud

0

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

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.