[gelöst] Datei nur für angemeldete User anzeigen lassen
am 10.06.2018 - 20:28 Uhr in
Hallo zusammen,
ich habe auf meiner Drupal 8 Seite einen geschützten Bereich für Mitglieder.
Die Seiten in diesem Bereich habe ich mit dem Modul "Content Access" erfolgreich nur für eingeloggten User sichtbar gemacht.
Dort habe ich eine PDF Datei eingebettet und mein Problem ist nun, dass die entsprechende Seite mit dem PDF Dokument zwar nur den angemeldeten Benutzern angezeigt wird, aber der Pfad zur PDF Datei (zb. unter sites/default/private/files/programm.pdf ) öffentlich für jeden aufgerufen werden kann.
Daher meine Frage: Besteht die Möglichkeit auch die PDF Datei vor der Allgemeinheit zu schützen? Allerdings sollte angemeldete User weiterhin zugreifen können.
Ich habe es schon mit dem Modul "Private files download permission" probiert, leider ohne Erfolg.
Da heißt es, dass das ich kein privates Verzeichnis (Your default download method is not set to private) eingerichtet habe, aber das stimmt laut meinem Datei-System nicht (hier wird der Pfad des privaten Dateisystems angezeigt).
Hat jemand mit seinem Mitgliederbereich vielleicht ähnliche Erfahrungen gemacht oder eine Idee?
Bin um jede Antwort dankbar. Danke im Voraus!
- Anmelden oder Registrieren um Kommentare zu schreiben
Du mußt ein privates
am 10.06.2018 - 23:15 Uhr
Du mußt ein privates Dateiverzeichnis anlegen, das außerhalb des DocumentRoot Deiner Installation liegt. Anders als bei D7 geht das aber nur über die settings.php. Drupal kann dann diese Dateien ausliefern, aber der Apache kommt ohne Drupal, das den Zugriff kontrolliert, nicht heran.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
genau das habe ich so
am 11.06.2018 - 17:05 Uhr
genau das habe ich so gemacht. Also das private Dateiverzeichnis ausserhalb des DocumentRoot eingerichtet. Die settings.php habe ich auch mit dem richtigen Pfad eingerichtet und dieser wird auch korrekt unter Drupal im Datei-System bzw. privaten Dateiverzeichnis angezeigt.
Allerdings bekomme ich die Meldung "Your default download method is not set to private" obwohl ich das private Dateiverzeichnis habe. Vielleicht liegt hier der Fehler. Aber wie komme ich die Fehlermeldung gelöst?
Das ist unkritisch (nur zur
am 11.06.2018 - 19:02 Uhr
Das ist unkritisch (nur zur Info gedacht), weil Du vermutlich Bilder o.ä. aus dem public Bereich ausliefern lassen willst. Du mußt aber den File-Feldern, die Du im privaten Bereich ablegen willst, das in der Feld-Definition auch explizit verlangen. Vielleicht ist ja dort ein Fehler.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke erstmal noch für die
am 11.06.2018 - 20:56 Uhr
Danke erstmal noch für die Antworten :)
Ok gut, wenn das nur zur Info ist und keine Auswirkungen hat.
Wie meinst du das mit der Feld-Definition genau?
Es handelt sich um ein
am 11.06.2018 - 22:34 Uhr
Es handelt sich um ein Datei/Image-Feld in einem Inhaltstyp oder Entry. Ich weiß schließlich nicht, wo oder wie Du Deine Private-Files verwaltest.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke für deine schnelle
am 14.06.2018 - 20:42 Uhr
Danke für deine schnelle Antworten :)
Also ich möchte die Datei als PDF zum lesen auf einer Seite einbetten.
<iframe height="800" src="/sites/default/files/inline-files/rundschreiben.pdf" width="800"></iframe>
Ich hinterlege also nur den Dateipfad zum PDF, welches im Browser dann geladen wird.
Allerdings sollte dann nicht angemeldete Benutzer keinen Zugriff auf rundschreiben.pdf haben.
Wenn ich das PDF dann ausserhalb des DocumentRoots abgespeichert habe, weiss ich nicht wie ich es hinbekommen soll das dieses in dem Frame angezeigt wird.
Du mußt ein File-Field beim
am 14.06.2018 - 21:42 Uhr
Du mußt ein File-Field beim dem entsprechenden Datentyp haben und darfst eben nicht einfach einbetten. Die Anzeige der Datei muß dann in der Darstellung des Inhaltstyps geregelt werden. Nur dadurch bekommst Du die Auslieferung unter Kontrolle.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Sorry für die späte Antwort.
am 24.07.2018 - 19:48 Uhr
Sorry für die späte Antwort. Danke erst mal noch für deinen Beitrag.
Also besteht keine Möglichkeit um das PDF in einem Frame anzeigen zulassen?
Nein, so wie Du das
am 24.07.2018 - 20:24 Uhr
Nein, so wie Du das vorgesehen hast, geht es nicht, denn der Iframe wird vom Browser gefüllt, und der muß einen Pfad bekommen, den er anfordern kann. Das ist aber bei Private-Files nicht möglich.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *