Belirli sayfaları yalnızca giriş yapan kullanıcılar için kullanılabilir yap


9

Biraz yardıma ihtiyacım var ve işte sorun:

Drupal 7 kullanarak bir site inşa ediyorum.

Belirli sayfaları yalnızca giriş yapan kullanıcılara görünür hale getirmem gerekiyor (her biri kendi kullanıcı adı / parolasına sahip), diğer kullanıcılar basitçe yeniden yönlendirilmeli veya bir hata mesajı gösterilmelidir. Bu işlevsellik Drupal 7'ye dahil edilebilir mi yoksa bunu yapan bir modül var mı (Organik Gruplardan daha basit bir şey)?

Yanıtlar:


7

İnce tanımlı düğüm görüntüleme izinleri için Content Access modülünü kullanmanız gerekir .

Bu modül, içerik türleri için izinleri role ve yazara göre yönetmenizi sağlar. Her içerik türü için özel görünüm, düzenleme ve silme izinleri belirlemenizi sağlar. İsteğe bağlı olarak her içerik erişimi ayarını etkinleştirebilirsiniz, böylece her içerik düğümü için erişimi özelleştirebilirsiniz.


Bu modül 2013'ten beri güncellenmemiştir ve "henüz kararlı sayılmamaktadır" olarak tanımlanmaktadır. Şu anda bakımı yapılmış olanı tavsiye etmek ister misiniz?
Blazemonger

1

Bunu bir modül veya düğüm içinde (PHP Giriş Filtresi ile) programlı olarak yapmak istiyorsanız, bunun gibi bir şey için user_is_oked_in () öğesini kullanabilirsiniz :

<?php
if (!user_is_logged_in()) drupal_not_found();
?>

0

Content Access modülü sorunu iyi çözse de, ekstra bir modül ve henüz D7'de kararlı değil.

Sadece yaygın olarak kullanılan modülleri kullanan bir alternatif:

  1. Düğümleri oluşturun ancak yayınlanmamış olarak ayarlayın

  2. Düğüm görünümü oluşturun, örneğin "rol kısıtlı içerik". Standart düğüm /% görüntüsünü çoğaltmak için tam düğümün içeriğini gösterin.

  3. Görünümü istediğiniz rollerle kısıtlayın (ör. "Rol | Kimliği doğrulanmış kullanıcı")

  4. Görünüm yolunu aşağıdaki gibi bir şeye ayarlayın:

    restricted-content/%
  5. Nid ile bağlamsal bir filtre ayarlayın.

  6. Varsayılan "içerik yayınlandı" filtresini kaldırın.

Artık yayınlanmamış içeriği de işleyebildiği ve role göre kısıtladığı dışında, düğüm /% gibi çalışan bir görünümünüz olacak.


1
Görünüm, yayınlanmamış olsalar bile düğümlerin listesini gösterir, ancak doğru izni olmayan kullanıcılar yine de düğümlere erişemez.
kiamlaluno

-1

Oldukça basit bir programlı çözüm var, kullanıcı rolünü okuyabilirsiniz (ve ayrıca anonim veya kayıtlıysa):

$roles=$GLOBALS['user']->roles;

$ rollerinde geçerli kullanıcının rollerini içeren bir dizi alırsınız.

Kullanarak role bağlı olarak bu kullanıcıyı bazı mantıklarla yönlendirebilirsiniz.

drupal_goto ('url-of-the/page');
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.