it-swarm.com.de

Wie kann der Knotenzugriff basierend auf Benutzerrollen eingeschränkt werden?

Wie kann ich zulassen, dass nur bestimmte Knoten basierend auf Benutzerrollen angezeigt werden?

Grundsätzlich möchte ich nicht zulassen, dass Benutzer einer bestimmten Rolle auf Knoten zugreifen.

8
harshal

Haben Sie das Inhaltszugriffsmodul ausprobiert?

Mit diesem Modul können Sie Berechtigungen für Inhaltstypen nach Rolle und Autor verwalten. Hier können Sie benutzerdefinierte Ansichts-, Bearbeitungs- und Löschberechtigungen für jeden Inhaltstyp festlegen. Optional können Sie die Einstellungen für den Inhaltszugriff aktivieren, sodass Sie den Zugriff für jeden Inhaltsknoten anpassen können.

3
4life

Sie sprechen von Drupal Knotenzugriffskontrolle, was ein großes Thema ist.

Die integrierte Unterstützung des Kerns für die Knotenzugriffssteuerung ist ziemlich grob. Um den Zugriff zum Anzeigen eines Knotens nach Rollen zu steuern, müssen Sie eine Art Knotenzugriffssteuerungsmodul verwenden.

Es gibt eine Seite auf Drupal.org, auf der alle Knotenzugriffsmodule aufgelistet sind mit jeweils einer Kapselüberprüfung. Ich schlage vor, dass Sie sich diese Seite ansehen, um zu sehen, ob Sie ein geeignetes Modul finden, um den Zugriff basierend auf Rollen zu steuern.

Wenn Sie mit der Zugriffssteuerung arbeiten, ist es hilfreich zu verstehen, wie Drupal Zugriffssteuerungsmodule tatsächlich funktionieren. Hier eine kurze Beschreibung:

  1. Benutzer, denen die Berechtigung zum Verwalten von Knoten erteilt wurde, werden niemals durch die Knotenzugriffskontrolle eingeschränkt. Benutzern, die keine Berechtigung zum Anzeigen veröffentlichter Inhalte haben, kann von einem Knotenzugriffsmodul niemals Zugriff gewährt werden. Nur Benutzer, die über "Zugriff auf Inhalte" und nicht über "Knoten verwalten" verfügen, sind für die wilde Welt der Steuerung von Knotenzugriffsmodulen berechtigt.

  2. Knotenzugriffskontrolle in Drupal ist in der Regel additiv . Dies bedeutet, dass jedes Modul die Zugangskontrolle gemäß dem "Die Drupal -Philosophie" sollte nur den Zugriff zulassen, nicht verweigern. Ein Administrator, der den Zugriff auf einen Knoten optimieren möchte, muss zunächst sicherstellen, dass niemand Zugriff hat, und dann jedem Zugriff gewähren soll Zugang haben.

Dies bedeutet, dass es ziemlich umständlich sein kann, den Zugriff auf eine Person mit einem Modul wie Content Access einzuschränken, da Sie damit beginnen müssen Verweigern jedem Zugriff und fügen Sie ihn dann wieder zu den Knoten hinzu, die Sie nicht einschränken möchten. Ich denke jedoch, dass es die beste Option ist, wenn Sie es wirklich Knoten für Knoten tun müssen. Die primäre Auflösung sind Inhaltstypen, aber Sie können diese für einzelne Knoten überschreiben.

Leider können Sie Zugriff verweigern nicht verwenden, da dies nur für Inhaltstypen ohne Überschreibung für einzelne Knoten funktioniert.

NB: Die Verwendung von mehr als einem Knotenzugriffsmodul wird nicht empfohlen.

Beachten Sie, dass der Zugriff verweigern ideal ist, wenn Sie Ihre Anforderungen so ändern können, dass Sie den Inhaltstyp als Basiseinheit für die Knotenzugriffskontrolle verwenden können. Wenn Sie beispielsweise die Rolle "Schüler" haben und den Zugriff auf Knoten mit Antworten verweigern möchten, können Sie einen Inhaltstyp "Antwort" erstellen (der nur ein Klon des Standardartikels "Artikel" sein kann) und den Zugriff verweigern Achten Sie darauf, dass alle Knoten vom Typ "Antwort" nicht von der Rolle "Schüler" angezeigt werden.

16
Free Radical