[gelöst] Up/Downloaddateien nur bestimmten Usern zugänglich machen
am 28.09.2011 - 15:48 Uhr in
Hallo zusammen,
in einer Drupal-Installation habe ich (u.a.) zwei zusätzliche Rollen "Redakteur" und "Interner Mitarbeiter". Redakteure bearbeiten Texte, die sie entweder allgemein öffentlich machen oder nur die nur für interne Mitarbeitern sichtbar sind. Dies funktioniert auch.
Ich möchte nun, dass die Redakteure auch für jede einzelne hochgeladene Bild- oder pdf-Datei bestimmenen können, ob sie von allen Besuchern (also auch Gästen und Auth. Benutzern) gesehen/geladen werden darf oder nur von den internen Mitarbeitern.
Ich habe Lösungsansätze im Internet entdeckt, die eine Datei mit einem zugriffsbeschränkten Inhaltstyp verbinden, aber damit bekomme ich nur eine Beschränkung ebendieses Drupal-Node hin. Die über ein Dateifeld angefügte Datei ist auch von Gästen aufrufbar, wenn man den Dateinamen bzw. die URL kennt. Das soll aber nicht so sein.
Gibt es ein Modul, mit dem man die Zugriffsmöglichkeit auf hochgeladene Dateien ganz strikt steuern kann? Falls nicht, welche möglichst einfache Möglichkeit besteht, das zu machen? Letztlich sind es die textstarken, aber technikschwachen Redakteure, die damit umgehen sollen.
Danke für Tipps!
Chennai
- Anmelden oder Registrieren um Kommentare zu schreiben
Private Files
am 28.09.2011 - 23:14 Uhr
Du kannst je Content type festlegen (via admin/structure/types/manage/<-CONTENT_TYPE->/edit), ob für diesen Inhaltstyp die öffentliche Downloadmethode (direkter Dateizugriff über die URL) oder aber die private Downloadmethode (Drupal managed die Dateiauslieferung, Datei nicht im öffentlichen Zugriff, daher weniger performant) gewählt werden soll. Dafür ist nichts als Core notwenig, kein weiteres Modul also. Damit kann einmal niemand durch Direktzugriff Rechte umgehen.
Dann könnte http://drupal.org/project/field_permissions für die eigentlichen Berchtigungen sorgen.
Noch nicht ganz
am 29.09.2011 - 12:15 Uhr
Danke für deine Antwort.
Was ich gefunden habe, ist eine feldbezogene Einstellung in <admin/structure/types/manage/CONTENT_TYPE/fields/field_FILE>, und zwar:
Ziel beim Hochladen: Öffentliche Dateien
Meintest du die?
Dort kann ich aber nichts ändern. Zunächst wurde mir gar keine Alternative gezeigt, da die Einstellung <admin/config/media/file-system> für private Dateien fehlte. (Aha! Jetzt habe ich vermutlich begriffen, wie öffentliche und private Dateien gehandhabt werden.) Dies habe ich nachgeholt, bekomme daher nun auch in den Feldeinstellungen die Option "Private Dateien" angezeigt, kann sie aber nicht anklicken, weil die Optionsschalter gegraut/deaktiviert sind.
Wie bekomme ich die Option jetzt auf privat umgestellt?
(oder ging es um noch etwas ganz anderes?)
---
Nachtrag:
Für fortgeschrittene User vielleicht einleuchtend, aber mir war es nicht klar: Erst als ich komplett alle zuvor angelegten Nodes dieses Content-Types gelöscht hatte, konnte ich die Option auf "Private Dateien" stellen (obwohl dasselbe Privatverzeichnis benutzt wird wie vorher). Ja klar - üblicherweise steht das ja sogar dabei: "Einige Einstellungen können nicht mehr verändert werden, da bereits Daten für das Feld vorliegen."
Nun ja, jetzt funktioniert es, und tatsächlich:
Eigentlich ist das ganz einfach.