| Sisis-cgi |
|
|
|
|
Im Bibliothekssystem Sisis von OCLC Pica werden Benutzerdaten gespeichert. Diese Benutzerdaten kann man zur Authentifizierung an anderen Dienstleistungen in der Bibliothek nutzen. Dieses Softwareprojekt bietet eine einfache Möglichkeit zur Authentifizierung von Benutzern an einem Sisis-System und zur Recherche von Benutzerdaten für Bibliotheksmitarbeiter. Worum geht's?Im Bibliothekssystem Sisis von OCLC Pica gibt es das Protokoll SLNP bzw XSLNP zur Verbindung externer Dienste mit der Datenbank. Primär wahrscheinlich entwickelt, damit die eigenen Clients sich mit der Datenbank verbinden können wurde und wird das Protokoll SLNP an vielen Stellen auch für andere Dinge wie zum Beispiel Authentifizierung von Benutzern eingesetzt. Jedoch enthält zumindest SLNP selbst keine abgestufte Authentifizierung. Einmal angemeldet kann ein Nutzer einer SLNP-Session einiges unternehmen, was nicht erwünscht ist. Dieses Manko wurde nach Aussage des Herstellers bei XSLNP behoben, hier soll man einzelne XSLNP-User für einzelne Dienste freischalten können. Leider ist XSLNP ein lizensierungspflichtiges Protokoll, also kostenintensiv. Außerdem ist es natürlich proprietär. Auf der anderen Seite gibt es in einer Bibliothek einige Dienste, die nur Benutzern dieser Bibliothek zur Verfügung stehen sollen. Dies ist zum Beispiel die Nutzung der öffentlichen Internet-PCs außerhalb der von der Bibliothek definierten Positivliste sowie die Anmeldung der Benutzer mit eigenem Notebook im Netzwerk der Bibliothek (Lesesaal). Natürlich soll es dafür nicht eine eigene Accountverwaltung geben sondern die Benutzer sollen sich sinnvollerweise mit ihren bekannten Bibliotheksausweisdaten an solchen Systemen anmelden können. Die LösungDie hier beschriebene Lösung besteht aus zwei Teilen. Der erste Teil ist ein Perlscript, welches auf dem Sisisserver läuft und über eine definierte Schnittstelle passwortgeschützt Daten aus dem Sisissystem zur Verfügung stellt. Der Zugriff dieses Scriptes auf Sisis geschieht direkt per SQL, um hier weitere proprietäre und ggf kostenpflichtige Protokolle zu vermeiden. Die so zur Verfügung gestellte Schnittstelle kann von beliebigen Diensten genutzt werden. Im Beispiel zeige ich hier die Integration in einen Proxyserver auf der Basis von squid , der für die öffentlichen PCs den Zugang zum Internet regelt. In Squid kann man ein beliebiges externes Programm zur Authentifizierung verwenden. Die Anforderungen von squid an ein solches Programm sind:
Weitere Funktionen, die über das Script auf dem Sisisserver zur Verfügung gestellt werden können, sind denkbar, das Script ist erweiterbar. Auch schreibende Funktionen (bisher nur lesend) sind kein Problem, wobei man sich dabei im Klaren sein muss, dass unter Umständen die Integrität der Datenbank leicht gefährdet sein kann. Ein logischer Schritt wäre übrigens auch die Umsetzung einer ldap-Schnittstelle, die dann standardisiert Daten zur Verfügung stellt und entgegen nimmt. Bei uns in Dortmund wird das Script zur Zeit für drei Anwendungsgebiete eingesetzt: Die erwähnte Authentifizierung der Internet-PCs über einen Proxy, die Authentifzierung der Benutzernotebooks im Lesesaal bei Netzwerkbenutzung (hier nicht weiter erläutert) sowie die Recherche nach Benutzerdaten durch UB-Mitarbeiter. Die einmal geholten Benutzernummer-Passwort-Kombinationen werden übrigens im Script nicht gecached, da bereits squid mit der unten angegebenen Konfiguration ein Caching vornimmt. Des weiteren hält weder das Perlscript, welches von squid gestartet wird, noch das Perlscript auf dem Sisisserver eine Verbindung länger als notwendig offen. Der Ressourcenverbrauch für eine offen gehaltene Verbindung schien mir schwerer wiegend als der Zeitverbrauch durch das neue Öffnen einer Verbindung. Installation
Bekannte Probleme/Fehler
Historie
DownloadDiese Programme sind kostenfrei im nichtkommerziellen Umfeld verwendbar. Das Programm darf ohne meine Einwilligung nicht kommerziell verwendet werden. Dies gilt insbesondere auch für Dienstleistungen, die die Installation oder Anpassung dieses Programmes beinhalten. Die Stellen, an denen mein Name steht, dürfen nicht verändert werden. Selbstverständlich übernehme ich keine Haftung jeglicher Art für irgendwelche Schäden, die direkt oder indirekt durch die Nutzung dieses Programmes entstehen könnten. Fehlerberichte und Anregungen zur Weiterentwicklung sind jederzeit willkommen. Ich freue mich auch über eine Benachrichtigungsmail, wenn das Programm irgendwo eingesetzt wird. |
|
| Letzte Aktualisierung ( Dienstag, 2. Oktober 2007 ) |
| weiter > |
|---|


