Einführung / Konfiguration von Benutzerrechten / Schutz personalisierter Projektinhalte / Prüfung der Zugriffsrechte
Prüfung der Zugriffsrechte über die Access-Control-Datenbank
Um einen zuverlässigen Schutz für Objekte zu realisieren, die eine Berechtigungsprüfung nicht selbst durchführen können, muss daher bereits auf Ebene der Dateiauslieferung angesetzt werden. Dafür steht in FirstSpirit das Modul FirstSpirit Security zur Verfügung. Bei der Generierung eines Projekts wird eine lokale Access-Control-Datenbank angelegt, die alle Berechtigungsinformationen für die einzelnen Projektinhalte verwaltet. Der Abgleich dieser lokalen Access-Control-Datenbank mit dem Live-System erfolgt über das Modul FirstSpirit Security (über das CRC-Transfer-Servlet – siehe Modul-Dokumentation FirstSpirit Security). Über das Modul kann u.a. ein Filter definiert werden („Multi-Access-Control-Filter“), der die Auslieferung aller Objekte, auf die die Filterkriterien passen, zuverlässig unterbindet (Der Server liefert die geschützten Dateien nicht aus.).
Das Konzept „Sichere Medien“ kann im Live-System ebenfalls über das Modul FirstSpirit Security und einen individuell angepassten Filter auf das gewünschte „Sichere Medien“ Verzeichnis (bzw. die Medien-Datei) realisiert werden.
Die Konfiguration erfolgt über den FirstSpirit ServerManager.
Für weitere Informationen siehe Modul-Dokumentation FirstSpirit Security.
Access-Control-Datenbank
Ein Teilbereich des Moduls FirstSpirit Security ist die Access-Control-Datenbank. Eine Access-Control-Datenbank besteht aus mehreren „Access Control Lists“ (ACL). Die Access-Control-Datenbank verwaltet beliebige Informationen zu Projektdateien (z. B. Seiten, Medien). Neben vielen anderen Informationen, beispielsweise die CRC-32-Prüfsumme des Objektes, die für den differentiellen Upload benötigt wird (vgl. Veröffentlichung per FirstSpirit Veröffentlichungs-Servlet), können über die Access-Control-Datenbank auch die Zugriffsrechte auf ein Objekt gespeichert werden (d.h. Rechte eines Besuchers der generierten Site – „Benutzerrechte“). Mithilfe von individuell konfigurierten Filtern, die ebenfalls über das Modul zur Verfügung gestellt werden, kann so der Zugriff auf generierte Projektinhalte geregelt werden (siehe Multi-Access-Control-Filter, unten).
Die lokale Access-Control-Datenbank eines Auftrags wird bei der ersten Generierung angelegt und bei jeder weiteren Generierung aktualisiert.
Für weitere Informationen siehe Modul-Dokumentation FirstSpirit Security.
Multi-Access-Control-Filter
Über den Multi-Access-Control-Filter können unterschiedliche Filter für Projektinhalte definiert werden, für die, innerhalb der generierten bzw. veröffentlichten Inhalte, ein spezieller Zugriffsschutz gewünscht ist. Die Aufgabe des Multi-Access-Control-Filters ist es, eine bestimmte Klasse von Objekten vor der Auslieferung hinsichtlich ihrer Berechtigungskonfiguration zu prüfen. Der Filter nutzt für die Prüfung die Informationen aus der Access-Control-Datenbank.
Der Multi-Access-Control-Filter ist als Servlet-Filter realisiert, der im Staging- und Live-System in der entsprechenden Webanwendung konfiguriert werden muss. Dabei kann ein bestimmtes Generierungsverzeichnis (oder ein einzelnes Objekt) angegeben werden, das durch den Filter geprüft werden soll. Im Rahmen des Mappings können die Geltungsbereiche des Filters definiert werden. Dazu wird ein URL-Pattern definiert mit dem URL-Klassen und bestimmte Datei-Filter beschrieben werden können. Der Multi-Access-Control-Filter kann über Parameter weiter angepasst werden, indem beispielsweise nur bestimmte Zugriffsrechte zur Überprüfung angegeben werden, oder die Filterung auf bestimmte Dateien (z. B. nur PDF-Dateien) eingeschränkt wird. Innerhalb einer Konfiguration können mehrere unterschiedliche Filter konfiguriert werden.
Bei der Definition des URL-Patterns sollte berücksichtigt werden, dass die Ausführung des Servlets vor der Auslieferung eines Objektes, auf das ein Filter-Kriterium passt, einen zusätzlichen Rechenaufwand zur Folge hat. Daher sollten URL-Pattern immer so „klein“ wie möglich gehalten werden. Es sollte also keinesfalls „/“ gemappt werden, wenn „*.pdf“ bereits ausreichen würde.
Für weitere Informationen siehe Modul-Dokumentation FirstSpirit Security.