Cách nhận vai trò của người dùng hiện đang đăng nhập trong Drupal 7? Bạn có biết một cách đơn giản để thực hiện điều này? Có một số chức năng cốt lõi của drupal cho điều này?Cách nhận vai trò của người dùng hiện đang đăng nhập trong Drupal 7?
17
A
Trả lời
23
Bạn có thể truy cập vào các vai trò người dùng bằng cách chỉ sử dụng đoạn mã PHP này:
<?php $GLOBALS['user']->roles; ?>
9
Tôi đã tìm thấy một giải pháp thú vị để kiểm tra xem có nhiều vai trò của một người dùng:
global $user;
$check = array_intersect(array('moderator', 'administrator'), array_values($user->roles));
if (empty($check) ? FALSE : TRUE) {
// is admin
} else {
// is not admin
}
24
$ user- > vai trò là một mảng các vai trò thuộc về người dùng được khóa bởi ID vai trò, giá trị là chuỗi vai trò. Vì vậy, nếu bạn muốn kiểm tra xem người dùng có vai trò 'chứng thực người dùng đoạn mã của bạn sẽ giống như thế này (không nhất thiết phải là cách tiếp cận tối ưu nhất, in_array là một chức năng khá hiệu đắt tiền):
global $user;
if (in_array('authenticated user', $user->roles)) {
//do stuff here
}
Lưu ý rằng in_array cũng có thể chấp nhận một mảng là "kim" (đối số # 1) để bạn có thể kiểm tra nhiều tùy chọn vai trò:
in_array(array('authenticated user', 'anonymous user'), $user->roles);
1
// Tải người dùng hiện đã đăng nhập.
global $user;
print_r($user->roles);//this gives you current user roles
// để kiểm tra xem ông là người quản lý, bạn có thể làm như vậy bằng cách
if (in_array('administrator', $user->roles)) {
// do some stuff
$form['field_end_date']['#disabled'] = FALSE;
}
Các vấn đề liên quan
- 1. Làm cách nào để có danh sách vai trò cho người dùng hiện đang đăng nhập
- 2. drupal 7 lập trình đăng nhập người dùng trong
- 3. nhận vai trò của người dùng hiện tại
- 4. Cách nhận id người dùng hiện đang đăng nhập của người dùng ở Django?
- 5. Moodle cách tìm hiểu vai trò của người dùng đã đăng nhập
- 6. Cách truy vấn vai trò của người dùng hiện tại
- 7. Magento: nhận vai trò và người dùng
- 8. Cách nhận vai trò người dùng trong JSP/Servlet
- 9. Phong cách Drupal 7 đăng nhập trang
- 10. Drupal: gán vai trò trong user_save
- 11. ASP.net là người dùng trong vai trò
- 12. Kiểm tra vai trò người dùng đăng nhập trong trang dao cạo
- 13. Làm cách nào để biết vai trò của người dùng hiện tại trong WordPress?
- 14. Drupal 7: cách hạn chế quyền truy cập tập tin vào các vai trò người dùng cụ thể
- 15. Tìm hiểu người dùng hiện đang đăng nhập ở Django
- 16. Vai trò/nhóm Symfony2 - is_granted không phát hiện vai trò người dùng có
- 17. Lấy danh sách người dùng và vai trò của họ
- 18. Chức năng "Người dùng đang nhập" trong cuộc trò chuyện
- 19. Nhiều vai trò người dùng trong Ruby on Rails
- 20. Cách nhận vai trò cho người dùng hiện tại với Spring Security
- 21. asp.net MVC nhận hiện tại người dùng đăng nhập id
- 22. Cách thiết lập Vai trò Người dùng đơn giản cho Loại Bài đăng Tùy chỉnh Wordpress
- 23. Nhận id người dùng đã đăng nhập
- 24. Chỉ định vai trò gán vai trò cho người dùng trong MVC 4 qua hộp kiểm
- 25. Cách tạo vai trò người dùng tùy chỉnh trong Wordpress
- 26. MVC3 + Cách lấy tên người dùng hiện tại đã đăng nhập của người dùng
- 27. Symfony2 nhận id đăng nhập của người dùng
- 28. Nhận facebook Việc đăng nhập người dùng
- 29. Gán Vai trò cho Người dùng Ứng dụng
- 30. Tính lại các xác nhận quyền sở hữu cho người dùng SharePoint 2010 trong khi người dùng vẫn đăng nhập
nhờ câu trả lời của bạn là hữu ích cho tôi. cảm ơn bạn. – zhilevan
Trên đoạn trích thứ hai 'mảng' kim, [mỗi tài liệu] (http://php.net/manual/en/function.in-array.php) và một đoạn mã kiểm tra nhanh, bạn đang hỏi 'in_array' để kiểm tra xem liệu '$ user-> roles' có chứa mảng' mảng ('người dùng được xác thực', 'người dùng ẩn danh') ', không phải là các phần tử riêng lẻ '' người dùng đã xác thực'' hay' 'người dùng ẩn danh'' . [array_intersect()] (http://php.net/manual/en/function.array-intersect.php) sẽ thực hiện thủ thuật cho điều đó. –