JSON-Ausgabe von Benutzerrechten
Es ist auch möglich, der JSON-Funktion Benutzerrechte zu übergeben, die mithilfe der Eingabekomponente CMS_INPUT_PERMISSION definiert wurden.
Die JSON-Ausgabe berücksichtigt dabei die, auf dem jeweiligen FirstSpirit-Objekt (Seiten, Seitenreferenzen), persistierten bzw. geerbten Metadaten zum Zeitpunkt der Generierung (Aktivität, Gruppen, Rechte).
Bei der JSON-Ausgabe einer Seite bzw. einer Seitenreferenz werden die Metadaten des entsprechenden Objekts mit ausgegeben. Die Ausgabe enthält dann:
- die Aktivitäten („activities“) der Eingabekomponente CMS_INPUT_PERMISSION
- sind Aktivitäten definiert, werden die Metadaten für jede Aktivität einzeln ausgegeben
- sind keine Aktivitäten definiert, so werden die Metadaten nur einmal ausgegeben ("activity":null)
- die innerhalb der Eingabekomponente CMS_INPUT_PERMISSION berechtigten Gruppen
- die Rechte „allowed“ bzw. „forbidden“, die für die jeweiligen Gruppen auf dem Objekt definiert sind
Sind keine Rechte innerhalb der Eingabekomponente definiert (Option „Rechte definieren“ der Eingabekomponente ist deaktiviert), so werden die sichtbaren, geerbten Rechte nur ausgegeben, wenn in JSON die Vererbung von Metadaten aktiviert ist. |
Beispiel für Benutzerrechte mit Aktivitäten
Hier ein Beispiel für die Ausgabe von Benutzerrechten, wenn für die Eingabekomponente CMS_INPUT_PERMISSION Aktivitäten definiert wurden (hier: „allow“ und „deny“):
"permission_with_act": {
"fsType": "CMS_INPUT_PERMISSION",
"name": "permission_with_act",
"valueIsInherited": false,
"value": [
{
"activity": "allow",
"allowed": [
{
"groupName": "Anonyme Besucher",
"groupPath": "/GroupsFile/2"
},
{
"groupName": "Registrierte Mitglieder",
"groupPath": "/GroupsFile/3"
}
],
"forbidden": [
{
"groupName": "Kunden",
"groupPath": "/GroupsFile/4"
}
]
},
{
"activity": "deny",
"allowed": [
{
"groupName": "Kunden",
"groupPath": "/GroupsFile/4"
}
],
"forbidden": [
{
"groupName": "Registrierte Mitglieder",
"groupPath": "/GroupsFile/3"
}
]
}
]
}
Beispiel für Benutzerrechte ohne Aktivitäten
Hier ein Beispiel für die Ausgabe von Benutzerrechten, wenn für die Eingabekomponente CMS_INPUT_PERMISSION keine Aktivitäten definiert wurden:
"permission_without_act": {
"fsType": "CMS_INPUT_PERMISSION",
"name": "permission_without_act",
"valueIsInherited": false,
"value": [
{
"activity": null,
"allowed": [
{
"groupName": "Anonyme Besucher",
"groupPath": "/GroupsFile/2"
}
],
"forbidden": [
{
"groupName": "Registrierte Mitglieder",
"groupPath": "/GroupsFile/3"
},
{
"groupName": "Kunden",
"groupPath": "/GroupsFile/4"
}
]
}
]
}