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

Node Access Problem

Eingetragen von torfnase (1525)
am 03.07.2010 - 10: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 - 12: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Oder sonst lässt sich

Eingetragen von Exterior (2903)
am 03.07.2010 - 12: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 - 13: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...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist eigentlich kein Problem

Eingetragen von Exterior (2903)
am 03.07.2010 - 14: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 - 17: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 :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oh ja, da hatten die Jungs

Eingetragen von Exterior (2903)
am 03.07.2010 - 17: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 - 14: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Exterior

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

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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke :-)Kann ich mal

Eingetragen von Exterior (2903)
am 04.07.2010 - 23: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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 3 Tagen
  • Hey danke
    vor 2 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 6 Tagen
  • In der entsprechenden View
    vor 3 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 6 Tagen
  • gelöst
    vor 6 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20457

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 20 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