Hiện đang đăng nhập vai trò của người dùng


18

Làm cách nào để có được vai trò hiện tại của người dùng trong Drupal 8?

Ví dụ trong D7 chúng ta có $GLOBALS['user']->roles;

Câu trả lời:


31

Cái gì đó như:

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

sẽ trả về một mảng như:

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

trong đó các giá trị mảng là ID vai trò (tương đương với tên máy của vai trò trong Drupal 7). Trong mã OO, sử dụng cơ chế thích hợp lấy người dùng hiện tại từ vùng chứa, ví dụ:

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

Câu trả lời hay, bạn có thể vui lòng thêm mã cho $container?
Học sinh

@Pupil để truy cập vào vùng chứa trong ngữ cảnh OO, bạn nên tạo lớp của mình và sử dụng
phép nội xạ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.