4.3.4  Dokument-Rechte in MarkLogic

MarkLogic bietet ein sehr ausgefeiltes Rechte-und Rollensystem. Da wir MarkLogic aber vornehmlich als Datenbank einsetzen und nicht als Content Management System, reicht es aus, die grundlegende Funktionalität zu kennen.
Hinweis
NOTIZ
Ohne weitere Massnahmen werden Dokumente mit den Rechten des Erzeugers versehen.
Lädt man z.B. Dokumente über die MarkLogic Content Pump in die Datenbank, wie mit diesem Befehl:
mlcp_opts="-database alex-test -host localhost -username admin -password admin"

mlcp import $mlcp_opts \
     -output_permissions xml-scrapper,read,xml-scrapper,update
     -input_file_path input-files \
     -input_file_type aggregates \
     -aggregate_record_element chapter \
     -output_collections /chapter \
     -output_uri_prefix /chapter/ \
     -output_uri_suffix .xml
So ist es besonders wichtig, die Einstellung:
-output_permissions role1,read,role2,update
zu setzen, wenn man z.B. für eine Webapp nur einen User mit einer bestimmten Rolle vorsieht.
GEFAHR!
Vergisst man die Option -output_permissions , so kann man u.U. die Dokumente von einer Webapp aus nicht zur Anzeige bringen.
In diesem Fall sind keine Rechte an den hochgeladenen Dokumenten vorhanden und man kann diese in einer Webapp nur herunterladen, wenn man in der Admin-Rolle eingeloggt ist.
Es gibt einen einfachen Weg, die Rechte an einem Dokument zu überprüfen. Dazu führt man in der Konsole die "Browse"-Aktion auf einer Datenbank aus und wechselt in den Dateireiter Permissions:
Der "Browse"-Button in der MarkLogic Konsole wird oft übersehen, bietet aber viele nützliche Funktionen, wie z.b. die Anzeige der gesetzten Dokumentrechte.

Bild: 17  Anzeige der Dokument-Rechte in der MarkLogic Datenbank
ACHTUNG!
Ein XQuery-Skript, das eine Webapp betreibt, kann nicht nur im Browser aufgerufen werden, sondern auch von einem externen Programm bedient werden. Damit dies möglich ist, müssen die Rechte der WebApp wie in Kapitel Wikipedia Scrapper Applikation gesetzt werden.
Idealerweise sollte man dann aber auch dem User sml-scrapper eine Rolle xml-scrapper zuweisem, die nur Dokumente mit den Permissions -output_permissions xml-scrapper,read,xml-scrapper,update , vgl. oben, lesen und modifizieren kann - und nicht die Admin-Rolle.
Previous Page Next Page
Version: 93
Jan 25 2021