Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Node Access Problem

Eingetragen von torfnase (1525)
am 03.07.2010 - 11:42 Uhr in
  • Module
  • Drupal 6.x

Hallo Drupal Experten...

seit ein paar Tagen quäle ich mich mit einem Rechte-Problem herum.

Kurz geschildert:
UserA legt einen Beitrag an (node).
UserB antwortet auf diesen Beitrag.

Die Rechte sollen so verteilt werden:
den Beitrag von UserA dürfen alle lesen
den Beitrag von UserB dürfen nur UserA und UserB lesen.

Diese Konstellation ist auch nicht ungewöhnlich.

Praktisches Beispiel:
UserA bietet ein Haus an und beschreibt es in seinem Beitrag
UserB antwortet auf diesen Beitrag mit einem Angebot einer Kaufsumme und wie er das finanzieren möchte.
Der Beitrag von UserA ist natürlich öffentlich, aber der Beitrag von UserB sollte auf UserA und UserB beschränkt bleiben...

Natürlich soll diese Zuordnung der Rechte vollkommen im Hintergrund ablaufen, ohne das UserA bzw. UserB eine Benutzerreferenz eintragen muß.

Ich bin gespannt, ob es dafür eine akzeptable Lösung gibt :-)
Ich würde mich über ein Feedback sehr freuen...

‹ Videos werden nicht mehr abgespielt / geladen Bild mit Datum versehen EXIF Modul ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Den Fall hatte ich jetzt

Eingetragen von netzkoop (1820)
am 03.07.2010 - 13:27 Uhr

Den Fall hatte ich jetzt konkret noch nicht aber warum nicht
Private Message?

Oder sonst lässt sich das wahrscheinlich auch mittels Rules lösen

-----------
Luca Curella
Kooperative Netze - Berlin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Oder sonst lässt sich

Eingetragen von Exterior (2903)
am 03.07.2010 - 13:31 Uhr
Zitat:

Oder sonst lässt sich das wahrscheinlich auch mittels Rules lösen

Das wäre aber - soweit ich weiß - nur möglich, wenn die Antworten auf den Beitrag von User A ebenfalls Nodes sind. Dann wäre das alles gar kein Problem. Wenn die Antworten allerdings Kommentare sind, sieht die Sache schon anders aus, denn ich glaube, dass das Zugriffs- und Grant-System nur für Nodes greift, nicht für Kommentare. Wer den Node sehen darf, der darf entweder alle oder gar keine Kommentare dazu sehen (glaube ich).

Wie genau geht denn die Antwort vonstatten?

  • Anmelden oder Registrieren um Kommentare zu schreiben

die Beiträge von UserB sind

Eingetragen von torfnase (1525)
am 03.07.2010 - 14:31 Uhr

die Beiträge von UserB sind in der Tat auch nodes....

ich habe das rules - Modul jetzt installiert... mir ist aber noch nicht klar, wie ich damit zum Ziel komme....

Ich mache es noch etwas konkreter, vielleicht sehe ich auch nur den Wald vor lauter Bäumen nicht...

UserA schreibt einen Beitrag (node, eigener Inhaltstyp)
UserB "antwortet" darauf (kein Kommentar, sondern wieder mit einer Node, noch ein weiterer Inhaltstyp, unterschiedlich von dem Inhaltstyp von UserA).

Damit eine Zuordnung des Beitrags von UserA zu dem Beitrag von UserB möglich ist, wird beim Antworten eine Beitragsreferenz übergeben.
Per Views kann ich dann zu einem Beitrag von UserA alle "Antworten" der anderen User, insbesondere die von UserB anzeigen lassen.

Soweit bin ich jetzt....

und jetzt kommen irgendwie die Rules ins Spiel, aber ich weiß noch nicht genau wie...

Drupal Video-Tutorials

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist eigentlich kein Problem

Eingetragen von Exterior (2903)
am 03.07.2010 - 15:24 Uhr

Ist eigentlich kein Problem mit Rules. Welches Modul für die Zugriffsbeschränkung verwendest du? Node Access oder Content Access oder was anderes?

Die folgende Beschreibung funktioniert auf jeden Fall mit Content Access, für Node Access weiß ich nicht, weil ich das nicht benutze.
Außerdem benötigt man noch das Modul ACL, um den Zugriff pro User und pro Node zu regulieren.

Wenn man Content Access installiert hat, ruft man die Konfigurationsseite von Inhaltstyp B (Inhaltstyp für Antworten) auf, dort steht oben ein neuer Reiter "Access Control", den ruft man auf. Dort setzt man jetzt die Lese-, Schreib- und Lösch-Rechte so, dass die User nur ihre eigenen Inhalte sehen, bearbeiten und löschen dürfen. Außerdem muss man den Usern erlauben, Nodes vom Typ B zu erstellen, das macht man allerdings bei den normalen Drupal-Berechtigungen.

Zuletzt muss man bei "Access Control" noch etwas runter scrollen, dort findet man noch den Punkt "Einstellungen für Zugriffskontrolle pro einzelnem Inhalt (node)", dort drauf klicken, einen Haken in die Checkbox setzen und speichern.
Zuletzt muss man noch das Modul Token installieren. Das war die Vorbereitung.

Nun erstellt man mit Rules eine neue Regel, welche auslöst, wenn ein neuer Inhalt gespeichert wird. Als Bedingung fügt man noch hinzu, dass der Inhalt vom Typ B sein muss.

Jetzt benötigt man drei Aktionen in dieser Reihenfolge:
(vor der Aktion steht immer die "Gruppe", zu der die Aktion gehört. Diese Gruppen werden bei der Liste der Rules-Aktionen fett hervorgehoben und die Aktionen stehen eingerückt darunter)

  1. CCK - Referenzierten Beitrag laden
  2. User - Benutzerkonto laden
  3. Content Access - Gewähre Zugriffsrechte für einen Nutzer

So, etwas detailierter:

Zuerst lädst du den referenzierten Beitrag. Dazu wählst du die entsprechende Option und auf der nächsten Seite kannst du wählen, welcher Beitrag das Referenz-Feld enthält (dort sollte "Inhalt erstellt" stehen) und wählst das Nodereference-Feld aus. Weiter unten kann man noch die in Rules zu verwendente Bezeichnung für diesen Beitrag festlegen, standardmäßig steht dort bei "Bezeichnung" "Referenzierter Inhalt" und bei "maschinenlesbarer Name" steht "referenced_node". Diese Dinge kannst du aber so lassen, wie sie sind. Speichern und fertig ist die erste Aktion.

Nun kommt die Aktion "Benutzerkonto laden". Wieder Aktion auswählen und auf die nächste Seite gehen. Dort kannst du den Benutzer entweder anhand des Benutzernamens oder anhand der User-ID laden, wir nehmen die User-ID. Durch das Modul Token hast du weiter oben den Punkt "Token-Ersetzungmuster", wenn du dort drauf klickst, öffnet sich eine Box mit weiteren Punkten, z.B. "Ersetzungsmuster für Inhalt erstellt" usw. Unter anderem dürfte dort auch "Ersetzungsmuster für Referenzierter Inhalt" stehen, dort klickst du drauf und es öffnet sich eine Box, welche alle Token-Ersetzungen auflistet.

Zur kurzen Erklärung: Wenn man irgendwo in Rules eine solche (gültige) Token-Ersetzung benutzt, wird diese bei der Regel-Ausführung durch den entsprechenden Wert ersetzt, den sie symbolisiert.

Also suchst du dir in der Box mit den Ersetzungen für "Referenzierter Inhalt" den Punkt "Benutzer-ID des Beitragerstellers" und kopierst dir die Token-Ersetzung, die davor steht. Standardmäßig müsste diese "[referenced_node:author-uid]" lauten. Diese Token-Ersetzung fügst du nun bei der Benutzer-ID für den zu ladenden Benutzer ein. Auch hier kannst du unten wieder die Bezeichnung ändern.
Speichern und fertig ist die zweite Aktion.

Die dritte und letzte Aktion ist ganz einfach:

Du wählst als Aktion "Gewähre Zugriffsrechte für einen Nutzer". Auf der nächsten Seite kannst du den Benutzer wählen, dem die Rechte erteilt werden sollen und den Inhalt, für den die Rechte erteilt werden.

Beim Inhalt wählst du "Inhalt erstellt" aus, sodass die Rechte für den neu erstellten Inhalt vom Typ B gelten.
Beim Benutzer wählst du "Geladener Benutzer" aus. Somit werden dem Autor von Node A die Rechte erteilt.
Speichern - fertig.

Damit sehen am Ende die Rechte so aus, dass die Leute nur Ihre eigenen Inhalte vom Typ B sehen können. Außerdem können aber die Autoren vom zugehörigen Node vom Typ A den Inhalt ebenfalls sehen.
Dürfte also genau den Zweck erfüllen, den du suchst.

Keine Sorge, das sieht zwar nach viel aus, ist aber eine Sache von 10 bis 20 Minuten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

erst einmal vielen Dank für

Eingetragen von torfnase (1525)
am 03.07.2010 - 18:32 Uhr

erst einmal vielen Dank für deine ausführliche Anleitung.

ich werde mir das mal genau durchlesen und hoffe, dass ich damit mein Ziel erreichen kann.

aber heute wird erst einmal gefeiert.....
Deutschland ist im Halbfinale :-)

Drupal Video-Tutorials

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oh ja, da hatten die Jungs

Eingetragen von Exterior (2903)
am 03.07.2010 - 18:40 Uhr

Oh ja, da hatten die Jungs von Maradona nichts zu lachen ;-) war ein gigantisches Spiel.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe alles nach deinen

Eingetragen von torfnase (1525)
am 04.07.2010 - 15:35 Uhr

Ich habe alles nach deinen Anweisungen durchgeführt und ich muß sagen, es funktioniert genau so, wie ich mir das vorgestellt habe.
Wenn man sich ein bißchen damit beschäfitgt, ist die Logik, die dahintersteht auch gar nicht so schwer zu durchschauen....

super Tipp, der hat mir richtig weitergeholfen

Drupal Video-Tutorials

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Exterior

Eingetragen von netzkoop (1820)
am 04.07.2010 - 21:10 Uhr

Super Anleitung!
Hast du nicht Lust eine Handbuchseite daraus zu machen?

-----------
Luca Curella
Kooperative Netze - Berlin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke :-)Kann ich mal

Eingetragen von Exterior (2903)
am 05.07.2010 - 00:49 Uhr

Danke :-)

Kann ich mal machen, aber heute nicht mehr ^^ Als ich letztens mal spontan beschlossen habe, eine Handbuchseite zum WYSIWYG-Modul zu schreiben, ist daraus eine stundenlange Aktion geworden, wenn ich einmal drin komme ich immer vom hundersten ins tausendste ^^ Aber vielleicht mach ich das demnächst mal ;-)

Aber was nimmt man da konkret als Thema? Vorschlag für ne Überschrift? Dann kann ich mich morgen mal ran setzen ^^

Edit:
Habe mir gerade überlegt, dass ich auch gleich ne etwas umfangreichere Handbuchseite allgemein zum Thema spezielle Zugriffsrechte machen kann, werde ich morgen oder übermorgen mal reinstellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Grundsatzfrage
  • Drupal 9 Hosting
  • Seite auf Xamp wird nicht geladen
  • Anregung für die Installation von Drupal
  • [simplenews_stats] [D10] Keine Öffnungen/Ansichten der Newsletter werden gezählt
  • Theme Olivero - Rand entfernen?
  • Olivero veraendern
  • Upgrade Drupal 9 auf 10
  • Matomo(?) in Seite, aber Deinstalliert!
  • Upgrade Drupal 7 auf Drupal 9 / Inhalt erstellen zeigt nur Fehler an
  • Fehlermeldung nach Update auf Drupal 10
  • Wie Button erstellen?
Weiter

Neue Kommentare

  • Hallo! Welchen Host nutzt du
    vor 16 Stunden 3 Minuten
  • Also bei mir funktioniert es
    vor 17 Stunden 5 Minuten
  • Hat mir auch sehr geholfen,
    vor 17 Stunden 7 Minuten
  • Releases Stand 20-9-2023
    vor 2 Tagen 1 Stunde
  • Hi, Das ist leider nicht das
    vor 2 Tagen 20 Stunden
  • Wie plötzlich passierte
    vor 4 Tagen 9 Minuten
  • Sowas geht immer mit
    vor 5 Tagen 23 Stunden
  • vielen Dank fuer Deine Tipps.
    vor 6 Tagen 5 Stunden
  • Routinefrage: Kann es ein
    vor 6 Tagen 23 Stunden
  • @onkel Bob,Erst mal
    vor 1 Woche 6 Tagen

Statistik

Beiträge im Forum: 248809
Registrierte User: 19835

Neue User:

  • inklusion
  • sofortnovo
  • MacLeod1639

» Alle User anzeigen

User nach Punkten sortiert:
wla9333
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association