Node/Page Zugriff einschränken, aber nicht den Inhalt
am 13.09.2010 - 18:53 Uhr in
Hallo zusammen,
ich weiß, der Titel ist nicht allzu aussagekräftig, ich wusste nicht wie ichs anders beschreiben soll. Vorweg - Es geht hier um eine ältere Seite die noch auf D5 läuft.
Folgendes: Ich habe via CCK einen Inhaltstypen "XYZ" erstellt. In diesem befinden sich etwaige Felder, unter anderem ein User Reference Feld. Darüber wird dann quasi für jeden User ein solcher Inhaltstyp erstellt. Nun gehe ich weiter und verarbeite besagte User Reference in einer Views-Liste, nennen wir sie "ABC", sprich das Feld ist die User Reference und Filter sind der Node Typ XYZ und ein Feld aus diesem Inhaltstyp.
Nun will ich aber das die eigentlichen Seiten des Inhaltstypen nur bestimmte Rollen betreten/sehen können. Kein Problem, dazu gibt es Content Access, Node Access, oder auch Simple Access. Alle funktionieren sie wunderbar, die Seiten des Inhaltstypen lassen sich nur noch mit Gruppe X und Y betreten.
Problem nun, der oben besagte View ABC liefert auch nur noch Daten für eben genannte Gruppen, sprich X und Y. Ich will aber das den View ABC alle sehen können. Nun bin ich in meiner Dummheit davon ausgegangen das Node Access nicht bedeutet das jedwede Weiterverarbeitung der Daten selbst auch limitiert wird. Warum wirkt das Modul, wie auch die anderen auch auf die Daten/Felder des Inhaltstypen selbst, und nicht nur auf die Node?
Hat jemand eine Idee wie ich das lösen könnte? Hatte ja schon überlegt ein node-template für den Inhaltstypen anzulegen und den Content mit einer eigenen PHP-Abfrage der Gruppe zu schützen, aber das kanns ja doch irgendwie auch nicht sein.
Würde mich freuen wenn jemand einen Tipp hat. :)
Grüße vom,
Genesis
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Datenfelder existieren ja
am 13.09.2010 - 19:25 Uhr
Die Datenfelder existieren ja nicht unabhängig vom übergeordneten Node, sondern können nur über ihn gefunden werden. Daraus ergibt sich zwingend, das ich für die Felder keine Berechtigung haben kann, wenn mir der Node versperrt ist. In Drupal 6 (ich meine auch in 5, aber bin da nicht sicher) gibt es bei CCK die Möglichkeit, den Node offen zu lassen und die Felder zu sperren (ein Node besteht ja nur aus dem Titel, wenn ich das Body-Feld wegnehme). Das wäre aus meiner Sicht die einzige Möglichkeit, die Du hättest. Das geht aber im Nachhinein nicht mit schon bestehenden Nodes und ist auch ein bischen Aufwand in der Rechtevergabe.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ich wollte mich noch für die
am 14.09.2010 - 14:41 Uhr
Ich wollte mich noch für die Antwort bedanken. Ich habe es nun tatsächlich so gelöst das ich eine node, bzw. page angelegt habe und mit einem eigenen PHP-Code abfrage welche Rolle die betrachtende UID hat, bzw. eben nicht hat. Ist sicherlich nicht sauber, aber es geht hierbei auch viel mehr um Sichtbarkeit, nicht um Sicherheit. In dem Fall sollte es seinen Zweck erfüllen. :)
Vielen Dank nochmal,
Genesis