Integration in die Applikationen

Integration in die Applikationen
2015-09-23
by Kathleen Neumann
Dieser Abschnitt beschreibt, wie für die Präsentation
der Daten die Integration der Zugriffstest erfolgen kann.
Table of contents
1 Allgemeines.................................................................................................................. 2
2 Rechte in Skeleton und MIR........................................................................................2
Integration in die Applikationen
1 Allgemeines
...
2 Rechte in Skeleton und MIR
Für MyCoRe-Objekte können folgende Rechte spezifiziert werden:
•
•
•
•
•
•
•
•
read -> Nutzer darf dieses Objekt lesen
view -> Nutzer darf das Elternobjekt dieses Objektes lesen
write -> Nutzer darf dieses Objekt bearbeiten
delete -> Nutzer darf Objekt mit dieser ID löschen
addurn -> Nutzer hat das Recht eine URN für dieses Objekt zu erzeugen
accKeyEnabled -> Zugriffsschlüssel-Strategie wird verwendet
readKey -> Leseschlüssel für dieses Objekt ist hinterlegt
writeKey -> Schreibschlüssel für dieses Objekt ist hinterlegt
Aktuell nur in der MIR-Anwendung verfügbar gibt es ein Stylesheet (mir-rights.xsl), das
diese Informationen sammelt und in XML-Form an die Metadaten anhängt.
<mycoreobject xsi:noNamespaceSchemaLocation="datamodel-mods.xsd"
ID="mir_mods_00000005" label="mir_mods_00000005" version="2015.03SNAPSHOT"> [...] <rights> <right id="mir_mods_00000005" view="" read=""/> <right
id="mir_mods_00000006" read=""/> <right id="Document_derivate_00000008" view=""
read=""/> </rights> </mycoreobject>
So wird für das Objekt selbst und alle Kind- und Elternobjekte ein Eintrag angefügt, der
wenn das jeweilige Recht verfügbar ist, dies als Attribut mit leerem Wert enthält. Dieses
XML kann dann in den Stylesheets ausgewertet werden, ohne jedesmal über einen URIAufruf die ACL erneut abzufragen.
<xsl:key use="@id" name="rights" match="/mycoreobject/rights/right" /> [...]
<xsl:param name="accessedit" select="key('rights', $id)/@write" /> <xsl:param
name="accessdelete" select="key('rights', $id)/@delete" />
SyntaxHighlighter.all()
Seite 2 von 2