[gelöst] Views > Zugriff auf View beschränken
am 24.06.2012 - 16:40 Uhr in
Hallo Forum,
habe "wahrscheinlich" nur ein kleines Problem, komme aber gerade einfach nicht weiter.
Meine Benutzer dürfen über /node/add eigene Inhalte ("Produkttest") erstellen, diese sind für alle sichtbar.
Jetzt wollte ich für die Benutzer eine Übersichtseite erstellen, auf der sie verfolgen können wie oft jemand auf den von Ihnen erstellten Produkttest aufgerufen hat usw.
Das habe ich mit Views realisiert, mit der Verwendung des "Contextual filters".
unter dem Pfad "/user/%/meine-tests" kann der Benutzer sein erstellten Inhalt einsehen.
Das Problem ist, dass wenn der Benutzer statt seiner ID in der URL eine andere Zahl eingibt, er die Inhalte von anderen Benutzern anzeigen lassen kann.
Wie kann ich den sowas unterbinden, über "Access: Berechtigung | Eigenen unveröffentlichten Inhalt anzeigen" habe ich schon mal geschafft, dass die Gäste zumindest keinen Zugriff haben.
Wie verweigere ich aber den Authentifizierten Benutzern den Zugriff?
- Anmelden oder Registrieren um Kommentare zu schreiben

Einmal gegoogled bringt
am 24.06.2012 - 17:22 Uhr
Einmal gegoogled bringt folgenden Artikel: Custom Access Control for Views. Da wird beschrieben, was man tun kann, aber es ist PHP-Coding erforderlich.
Beste Grüße
Werner
Danke
am 24.06.2012 - 19:20 Uhr
Danke Werner für die schnelle Antwort.
Ich dachte eigentlich Views 3 bringt solche Funktionen schon mit, ohne Coden oder zusätzliche Module.
Wofür ist dann der Validator bei Contextual Filters gut? bzw dieser Contextual Filter: "Inhalt: User posted or commented"
Ich dachte dieser prüft ob der Benutzer tatsächlich der Ersteller ist.
mfg
cillit
Na, Du willst Doch
am 24.06.2012 - 23:02 Uhr
Na, Du willst Doch sicherstellen, daß keiner unberechtigt den View ansieht. Da reicht doch die Prüfung nicht, daß der User mit der angegebenen ID in der URL etwas getan hat. Du mußt unterscheiden zwischen dem User, der den View ansehen will und dem, der einen Node erstellt hat. Die Validierung prüft nur, ob ein Node von dem User, der in der URL angegeben ist, angelegt wurde. Das reicht Dir nicht, wie Du in Deiner Problemstellung beschreibst.
Beste Grüße
Werner
als argument noch die user id
am 25.06.2012 - 06:27 Uhr
als argument noch die user id des eingeloggten users, und diese prüfen ob gleich dem erstellten inhalt.
Habe es vorerst gelöst
am 25.06.2012 - 23:16 Uhr
Ich habe meine Ansprüche vorerst etwas runter geschraubt.
Habe jetzt Relationships -> "Inhalt: Autor" angelegt und konnte somit das Filter-Kriterium ->"(author) Benutzer: Current" einsetzen.
Somit wird der View zwar nicht ausgeblendet, aber zumindest wird der Inhalt nur demjenigen gezeigt, der es auch sehen darf.
An das Coden traue ich mich noch nicht ran und wofür der Validator da ist, habe ich verstanden, glaube ich ;)
Danke Euch beiden für die Hilfe!
mfg
cillit
Nicht aufgeben
am 27.06.2012 - 18:25 Uhr
Nach weiterer Recherche und der Bereitschaft Zusatzmodule zu verwenden, bin ich auf ein kleines Modul gestossen, das genau meinen Anforderungen entspricht:
views node access
mfg
cillit