Şu anda oturum açan kullanıcının rolü Drupal 7'de nasıl edinilir? Bunu başarmanın basit bir yolu biliyor musunuz? Bunun için bazı drupal çekirdek işlevleri var mı?Şu anda oturum açan kullanıcının rolü Drupal 7'de nasıl bulunur?
17
A
cevap
23
Sadece bu PHP parçacığını kullanarak kullanıcı rollerine erişebilir:
global $user;
$check = array_intersect(array('moderator', 'administrator'), array_values($user->roles));
if (empty($check) ? FALSE : TRUE) {
// is admin
} else {
// is not admin
}
9
> roller, rol kimliği tarafından girilen kullanıcıya ait rollerin bir dizisidir, değer, rol dizesidir. in_array
global $user;
if (in_array('authenticated user', $user->roles)) {
//do stuff here
}
Not: kullanıcı olsaydı kontrol etmek istedim Yani eğer rol 'yetki sahibi kullanıcı' böyle bir şey olmazdı senin kod parçacığı (mutlaka en iyi duruma yaklaşım, in_array oldukça performansa pahalı fonksiyondur) Ayrıca (argüman # 1) "iğne" olarak bir dizi kabul böylece birden rol seçenekleri karşı kontrol edebilir:
in_array(array('authenticated user', 'anonymous user'), $user->roles);
24
$ kullanıcı tarafından: Bir kullanıcının birden rollerine kontrol etmek için bir ilginç çözüm bulduk
<?php $GLOBALS['user']->roles; ?>
1
// anda oturum açan yükleyin.
global $user;
print_r($user->roles);//this gives you current user roles
//
size cevap benim için faydalı olduif (in_array('administrator', $user->roles)) {
// do some stuff
$form['field_end_date']['#disabled'] = FALSE;
}
İlgili konular
- 1. Şu anda oturum açmış kullanıcının wordpress içindeki rolü nasıl kullanılır?
- 2. Oturum açan kullanıcının e-posta adresi powershell içinde nasıl edinilir
- 3. Youtube [Data-API] Oturum açan kullanıcının moderatör olduğu LiveChat
- 4. Şu anda oturum açmış kullanıcı adı nasıl?
- 5. Şu anda oturum açmış olan kullanıcı kimliği Django'da nasıl edinilir?
- 6. Şu anda oturum açmış olan kullanıcının TCM URI'sini JavaScript koduna nasıl geri alabilirim?
- 7. Nasıl Şu anda
- 8. Django'da, şu anda oturum açmış olan kullanıcıyı nasıl bilebilirim?
- 9. Drupal Services - Kullanıcının kimlik doğrulama durumunu denetleme
- 10. hibernate 4 oturum açan paketlerBir kullanım özelliği
- 11. Bulutboost içinde bir kullanıcının rolleri nasıl bulunur?
- 12. Vim: Şu anda bulunduğum modun nasıl alınacağı
- 13. Oturum açan kullanıcının rolde olduğunu doğrulamak için bir jsp sayfasında çağıran doğru işlev nedir?
- 14. Şu anda oturum açmış olan veritabanı kullanıcısı silinemiyor. error 15434
- 15. Drupal 7'de oturum değişkenini nasıl kaydederim?
- 16. UserDetails getPassword, spring security 3.1'de null değerini döndürür. Şu anda oturum açmış kullanıcının şifresi nasıl alınır?
- 17. ggplot2: Şu anda efsane
- 18. Şu anda "Get_Item" MethodInfo
- 19. Kullanıcının indirme klasörü Qt'de nasıl bulunur?
- 20. Symfony2: Şu anda oturum açmış olan kullanıcıyı dikkate alarak bir varlığı nasıl doğrulayabilirsiniz?
- 21. Django'da, şu anda oturum açmış kullanıcı için kullanıcı alanını form olarak nasıl ayarlayabilirim?
- 22. Yönetici Rolü
- 23. Bir web kullanıcısının şu anda Google'da giriş yaptığını algıla?
- 24. Django kullanıcı anasayfası: URL'ye herhangi bir karakter yazmanız şu anda oturum açmış olan kullanıcının ana sayfasını gösterir?
- 25. Kuru çalışma yöntemi? Şu anda
- 26. nasıl program şu anda benim önceki soruya
- 27. Bu nasıl olduğunu Şu anda Eğik 2
- 28. Şu anda AdapterView'da görüntülenen öğeler nasıl alınır?
- 29. Sesin şu anda Linux'ta çalınıyor nasıl algılanır?
- 30. Şu anda kaç rakamın açıldığını nasıl öğrenebilirim?
sayesinde bunu yapabilirsiniz, o yönetici olup olmadığını kontrol etmek. teşekkür ederim. – zhilevan
İkinci "dizi" iğne snippit'inde, [docs başına] (http://php.net/manual/en/function.in-array.php) ve hızlı bir test kodunda, 'in_array'ı soruyorsunuz "$ user-> roles" dizisinin bir dizi dizi içerdiğini ('kimliği doğrulanmış kullanıcı', 'anonim kullanıcı') değil, '' kimliği doğrulanmış kullanıcı '' veya '' anonim kullanıcı '' öğelerini değil, kontrol etmek . [array_intersect()] (http://php.net/manual/en/function.array-intersect.php) bunun için hile yapardı. –