Drupal 7에서 현재 로그인 한 사용자의 역할을 얻는 방법은 무엇입니까? 이 작업을 수행하는 간단한 방법을 알고 있습니까? 거기에 대한 일부 drupal 핵심 기능이 있습니까?Drupal 7에서 현재 로그인 한 사용자의 역할을 얻는 방법은 무엇입니까?
17
A
답변
23
당신은 그냥이 PHP 조각 사용하여 사용자 역할에 액세스 할 수 있습니다
global $user;
$check = array_intersect(array('moderator', 'administrator'), array_values($user->roles));
if (empty($check) ? FALSE : TRUE) {
// is admin
} else {
// is not admin
}
9
을 > roles는 역할 ID로 입력 된 사용자에게 속한 역할의 배열이고, value는 역할 문자열입니다. 와 in_array
global $user;
if (in_array('authenticated user', $user->roles)) {
//do stuff here
}
참고 : 사용자가이 있다면 당신이 확인하고 싶어한다면 역할은 '사용자 인증'같은 것을 보일 것이다 당신의 코드 (반드시 가장 최적화 된 방법은,와 in_array는 상당히 성능 비싼 기능입니다) 배열을 "needle"(인수 # 1)으로 받아 들일 수 있으므로 여러 역할 옵션을 확인할 수 있습니다.
in_array(array('authenticated user', 'anonymous user'), $user->roles);
24
$ 사용자 - : 나는 사용자의 여러 역할을 확인하기 위해 흥미로운 솔루션을 발견
<?php $GLOBALS['user']->roles; ?>
1
// 현재 로그인 한 사용자를로드하십시오.
global $user;
print_r($user->roles);//this gives you current user roles
//
당신은 당신의 대답은 나를 위해 유용if (in_array('administrator', $user->roles)) {
// do some stuff
$form['field_end_date']['#disabled'] = FALSE;
}
관련 문제
- 1. 로그인 한 후 바로 사용자의 역할을 확인/할당하는 방법은 무엇입니까?
- 2. 로그인 한 사용자의 가치를 얻는 가장 좋은 방법은 무엇입니까?
- 3. asp.net에서 로그인 한 사용자의 Netcredentials 객체를 얻는 방법은 무엇입니까?
- 4. 현재 로그인 한 사용자의 Teamcity 속성
- 5. 현재 로그인 한 사용자의 ID는 어떻게 얻습니까?
- 6. 로그인 한 현재 사용자의 데이터 가져 오기
- 7. Grails Taglib 현재 로그인 한 사용자의 마지막 활동 목록을 표시합니다.
- 8. Drupal 7보기 현재 사용자의 uid로 제한
- 9. WordPress에서 현재 사용자의 역할을 아는 방법?
- 10. fbjs : 현재 로그인 한 사용자의 uid 가져 오기
- 11. drupal 7에서 컨텐츠 유형 노드를 얻는 방법은 무엇입니까?
- 12. iOS 사용자의 이메일 (로그인 이름)을 얻는 방법은 무엇입니까?
- 13. Codeigniter 현재 로그인 한 사용자
- 14. 모델 필드의 기본값으로 현재 로그인 한 사용자를 할당하는 방법은 무엇입니까?
- 15. 현재 로그인 한 사용자의 언어를 AppleScript로 가져 오기
- 16. loginhook을 실행하지만 현재 로그인 한 사용자의 UID를 가져 오십시오.
- 17. 현재 로그인 한 AD 사용자의 고유 식별자 토큰을 가져옵니다.
- 18. 현재 로그인 한 사용자의 정보를 Facebook으로 가져 오는 중입니까?
- 19. FB/Facebook 현재 로그인 한 사용자의 페이지 목록
- 20. 레거시 ASP에서 현재 웹 사용자의 SID를 얻는 방법은 무엇입니까?
- 21. C#에서 현재 사용자의 바탕 화면 경로를 얻는 방법은 무엇입니까?
- 22. Servlet에서 사용자 역할을 얻는 방법은 무엇입니까?
- 23. Android 및 Facebook : 로그인 한 사용자의 사진을 얻는 방법
- 24. GlassFish의 JSF 서비스에 로그인 한 사용자의 이름을 얻는 방법
- 25. Drupal 7에서 양식을 업로드하는 방법은 무엇입니까?
- 26. LDAP가있는 AD에서 사용자의 로그인 상태를 얻는 방법
- 27. 현재 사용자의 역할 가져 오기
- 28. 다른 사용자의 계정에 로그인 한 사용자
- 29. PHP : 로그인 한 각 사용자의 쿠키 파일?
- 30. 님이 업로드 한 모든 사용자의 동영상 링크를 얻는 방법은 무엇입니까?
감사하면됩니다, 그는 관리자인지 확인합니다. 고맙습니다. – zhilevan
두 번째 '배열 된'바늘 조각 인 [docs] (http://php.net/manual/en/function.in-array.php) 및 간단한 테스트 코드에서'in_array'를 묻습니다. '$ user-> roles'가'인증 된 사용자 '또는'익명의 사용자'가 아닌'array ('인증 된 사용자', '익명의 사용자')'의 배열을 포함하고 있는지 확인합니다. . [array_intersect()] (http://php.net/manual/en/function.array-intersect.php)도 그렇게 할 것입니다. –