2019.06
2020.06
Integration in die MIR-Applikationen
Dieser Abschnitt beschreibt, wie für die Präsentation der Daten die Integration der Zugriffstest erfolgen kann.
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.
1
2
3
4
5
6
7
8
|
<mycoreobject xsi:noNamespaceSchemaLocation="datamodel-mods.xsd" ID="mir_mods_00000005" label="mir_mods_00000005" version="2015.03-SNAPSHOT">
[...]
<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 URI-Aufruf die ACL erneut abzufragen.
1
2
3
4
|
<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" />
|