Yeni drupal. Sanırım çok aptal bir soru. PHP filtre modülünü etkinleştirdim, böylece kendi PHP kodumla yeni bir sayfa oluşturabilirim. Bu sayfa sadece kimliği doğrulanmış kullanıcılar tarafından erişilebilir olmak istiyorum, anonim kullanıcılar tarafından görülmez. Bunu nasıl başarabilirim? Tek tek sayfalar için izinleri drupal olarak ayarlayabilir miyim? Ya da anonim bir kullanıcının mevcut sayfaya PHP kodu üzerinden erişmeye çalıştığını belirlemek mümkün mü?ayar sayfası erişim izinleri drupal içinde
cevap
Drupal'da yeni olduğunuzu belirttiğinizden beri, bir uyarı sözüyle - özel kodunuz için PHP filtresi kullanmak kötü bir uygulama olarak kabul edilir. Bu bir kırılma ve bir güvenlik problemi.
Bu sizin özel modülü yazmak için daha iyi, ve bunu, vs vs bunu nasıl görünmesi gerektiğini görmek için kontrol edebilirsiniz güzel sample module var için kontrol edebilirsiniz kendi özel izinler uygulayabilirsiniz. Açıkçası, el kitabını da kontrol edin. Gerçekten göründüğü kadar zor değil.
Ama sorunuza geri dönün. Eğer PHP-filtrelenmiş bir sayfada aşağıdaki satırı koyabilirsiniz:
global $user;
Bu Geçerli kullanıcıyı temsil eden bir nesneye erişim sağlar. $user->roles
, kullanıcının rollerini temsil eden bir dizidir. Sadece authenticated user
(veya biraz daha iyi - oluşturduğunuz özel bir rol) olup olmadığını kontrol edebilirsiniz. http://modeling-languages.com/content/how-i-created-site-drupal: - Burada Drupal ile benim site oluşturduk nasıl fazla bilgi
<?php
// we have to access the content of the global-scope variable $user
global $user;
//Checking if the user is registered
if (in_array('authenticated user', $user->roles)==FALSE) {
header('Location:/content/restrictedaccess') ;
}
?>
// Sayfa içeriği
:
bir sayfa aşağıdaki php kodu kullanabilirsiniz erişen anonim açmasını önlemek için
Yukarıdaki yanıtları okuduğunuzdan, hazır simple access modülünü de düşünebilirsiniz. İhtiyaçlarıma uygun ve eğer PHP filtrelemesinden sakınmak istiyorsanız ve kendi modülünüzü oluşturmak istemiyorsanız (her ne sebeple olursa olsun), simple access'u kontrol edebilirsiniz.
Teşekkürler! Bu bana yardımcı oldu. – BigJoe714
- 1. Depolama Erişim Çerçevesi çalışma izinleri çalışmıyor
- 2. Linux'ta dosya erişim izinleri nasıl değiştirilir?
- 3. Bash_profile içinde ayar yolu
- 4. Ayar iplikçiler içinde
- 5. Wpf DocumentViewer için Ayar Sayfası Ayarı PrintDialog
- 6. Codeigniter Ayar Ana Sayfası (Default Controller)
- 7. Drupal 7
- 8. php Giriş sayfası erişim sorunu (wikihow)
- 9. Grafik API'sinden Nasıl Eklenen erişim izinleri benim Access Token için
- 10. Bir Facebook erişim belirteci verildiğinde, sahip olduğu izinleri nasıl alabilirim?
- 11. drupal
- 12. Drupal
- 13. drupal
- 14. System.out.println() içinde JSP sayfası görüntülenmiyor
- 15. Bir HTTP API aracılığıyla bir Drupal sitesine erişim
- 16. Drupal 7
- 17. Maven erişim sistemi özellikleri içinde
- 18. Array.forEach içinde adlandırılmamış diziye erişim
- 19. Erişim GörünümüModel/DataConext ContextMenu içinde
- 20. Django izinleri
- 21. Limit derleme izinleri C#
- 22. Vagrant senkronize klasör izinleri
- 23. Ayar getURL
- 24. Drupal 7
- 25. Popover içinde bir eylem sayfası nasıl gösterilir?
- 26. Sorun gibi jsp sayfası içinde OKPF içerir
- 27. Intellij çalışma sayfası ve sınıflar içinde tanımlanmış
- 28. iframe içinde bir web sayfası konumunu kapatma
- 29. Sınırlı bir süre için GRANT Tablo İzinleri
- 30. Drupal - Şablon içinde alt görünümü/kısmi olarak gösterme
Teşekkürler Eli :) Üzgünüm, sana çok geç teşekkür ediyorum. Dikkatli sözünü çok ciddiye aldım :) Önerileriniz ve Jordi'nin kodu çok kolay! Kısa bir süre sonra "basit erişim" modülü ile değiştirdim. Bu gerçekten de belirttiği kadar basit ve gereksinimlerimi mükemmel bir şekilde karşıladı. Gelecekte kendi modüllerini oluşturmak için örnek modül için bağlantınızı kullanacağım. Onun iyi bir başlangıç! – Nikhil