Goobi viewer (Deutsch)
DokumentationenGoobi viewer Digests
  • Goobi viewer Handbuch
  • Dokumentationsübersicht
  • Was ist der Goobi viewer?
  • Konfiguration
    • 1. Goobi viewer Core
      • 1.1 Lokale Einstellungen
      • 1.2 Übersetzungen
      • 1.3 Ordnerkonfiguration
      • 1.4 URL Konfiguration
      • 1.5 Konten
        • 1.5.1 Authentifizierungs-Provider
        • 1.5.2 Emailversand
        • 1.5.3 Weitere Einstellungen
      • 1.6 Performanz
      • 1.7 Zugriffsbeschränkungen und Bilder
      • 1.8 Captcha
      • 1.9 PDF Download
        • 1.9.1 Varianten
        • 1.9.2 Download Links
        • 1.9.3 vorgeschaltete PDF Titelseite
      • 1.10 ePub Download
      • 1.11 Bild Optionen
        • 1.11.1 Erweitertes Blättern in der Bildanzeige
        • 1.11.2 Navigation zwischen Strukturtypen
        • 1.11.3 Konfiguration der Bildanzeige
        • 1.11.4 Erhalt des Zooms und der Rotation beim Blättern in der Bildanzeige
        • 1.11.5 Externe Bilder
        • 1.11.6 Einschränkung der Bild Skalierung
        • 1.11.7 Thumbnail Einstellungen
        • 1.11.8 Image Footer
      • 1.12 individuelle Seitentypen
      • 1.13 Öffnen bestimmter Dokumententypen in alternativen Seitenansichten
      • 1.14 Volltexthinweise
      • 1.15. Spracheinstellungen
      • 1.16 Theme
        • 1.16.1 externe Themes
      • 1.17 Suche
        • 1.17.1 Sortierung
        • 1.17.2 Facettierung
        • 1.17.3 Erweiterte Suche
        • 1.17.4 Zeitleiste
        • 1.17.5 Kalender
        • 1.17.6 Suche Speichern
        • 1.17.7 Expand Query für Such-Untertreffer
        • 1.17.8 aggregierte Suchtrefferanzeige
        • 1.17.9 Versionierung von Werken
        • 1.17.10 Export von Suchtreffern
        • 1.17.11 Suchtreffer Metadaten
      • 1.18 Sammlungen
        • 1.18.1 Untersammlungen
        • 1.18.2 Sortierung der Werke
        • 1.18.3 Sortierung der Sammlungen
        • 1.18.4 Blacklist
        • 1.18.5 Sammlungsgröße
        • 1.18.6 Weitere Einstellungen
        • 1.18.7 Strukturelement-Whitelist
      • 1.19 Metadaten
        • 1.19.1 Haupt-Metadaten
        • 1.19.2 Sidebar-Metadaten
        • 1.19.3 Suchtreffer-Metadaten
        • 1.19.4 Archiv-Metadaten
        • 1.19.5 Bild Metadaten
        • 1.19.6 Normdatenanzeige
        • 1.19.7 Kalender Strukturelemente
        • 1.19.8 Stöbern
        • 1.19.9 mehrsprachige Metadaten
        • 1.19.10 Lizenzen
      • 1.20 Inhaltsverzeichnisse
        • 1.20.1 Haupt Inhaltsverzeichnis
        • 1.20.2 Sidebar Inhaltsverzeichnis
        • 1.20.3 Herunterladen von Inhaltsverzeichnissen als PDF
      • 1.21 Tag Clouds
      • 1.22 Resolver
      • 1.23 Sidebar
      • 1.24 Navigation und Anzeige
      • 1.25 RSS Feed
      • 1.26 Merklisten
      • 1.27 Kommentare
      • 1.28 CMS
      • 1.29 Transkribus
      • 1.30 Originalinhalte
      • 1.31 Piwik/Matomo
      • 1.32 Sitelinks
      • 1.33 API
        • 1.33.2 IIIF
        • 1.33.3 Authentifizierung
        • 1.33.4 CORS
      • 1.34 OpenSearch
      • 1.35 Embedding
      • 1.36 Karten
      • 1.37 Übersetzungen
      • 1.38 Archiv
      • 1.39 Kampagnen
      • 1.40 Inhalte beitragen
      • 1.41 Nutzungszahlen
      • 1.42 Config Editor
      • 1.43 Proxy
      • 1.44 ActiveMQ
      • 1.45 Entwickler
      • 1.46 Externe Ressourcen
    • 2. Goobi viewer Indexer
      • 2.1 Hauptkonfiguration
      • 2.2 Verzeichnisse
      • 2.3 Proxy
      • 2.4 Performance
      • 2.5 Strukturtypen
      • 2.6 Metadaten
      • 2.7 Starten und Beenden
      • 2.8 Indexieren von Werken
      • 2.9 Aktualisierung einzelner Seitendokumente
      • 2.10 Löschen von Werken
      • 2.11 Solr Schema
      • 2.12 Weitere Einstellungen
    • 3. Goobi viewer Connector
      • 3.1 OAI-Schnittstelle
        • 3.1.1 Hauptkonfiguration
        • 3.1.2 Dublin Core
        • 3.1.3 Europeana
        • 3.1.4 METS
        • 3.1.5 LIDO
        • 3.1.6 MARCXML
        • 3.1.7 Xepicur
        • 3.1.8 Goobi viewer Übersichtsseiten
        • 3.1.9 Goobi viewer Crowdsourcing
        • 3.1.10 TEI
        • 3.1.11 CMDI
        • 3.1.12 Sets
      • 3.2 SRU Schnittstelle
  • Oberfläche
    • 1. Frontend
    • 2. Backend
      • 2.1 Dashboard
      • 2.2 Administration
        • 2.2.1 Benutzer
        • 2.2.2 Gruppen
        • 2.2.3 IP-Bereiche
        • 2.2.4 Zugriffslizenzen
        • 2.2.5 Rechte
        • 2.2.6 Kommentare
        • 2.2.7 Nutzungsbedingungen
        • 2.2.8 Neuer Datensatz
      • 2.3 Crowdsourcing
        • 2.3.1 Kampagnen
        • 2.3.2 Annotationen
      • 2.4 CMS
        • 2.4.1 Seiten
        • 2.4.2 Kategorien
        • 2.4.3 Statische Seiten
        • 2.4.4 Medien
        • 2.4.5 Menüs
        • 2.4.6 Sammlungen
        • 2.4.7 Karten
  • Verschiedenes
    • 1. Anwendungsszenarien
      • 1.1 Serien und Konvolute
      • 1.2 Zugriffsbeschränkungen
      • 1.3 Subthemes
      • 1.4 Normdaten
      • 1.5 Mehrsprachigkeit
      • 1.6 Karten
      • 1.7 Untersammlungen
      • 1.8 Mehrere Goobi viewer
      • 1.9 Crowdsourcing Modul
      • 1.10 Archivalien
      • 1.11 Solr Queries
      • 1.12 Verlinkung aus METS Dateigruppen
      • 1.13 Inhalte beitragen
      • 1.14 Shibboleth
      • 1.15 zugriffsbeschränkte Metadaten
    • 2. FAQ
    • 3. Glossar
  • Devs & Ops
    • 1. Core Changelog
      • 2025
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
      • 2018
    • 2. Theme Changelog
      • 2025
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
      • 2018
    • 3. Installationsanleitung
      • 3.1 Klassisch
      • 3.2 Docker
    • 4. Entwicklungsumgebung
      • 4.1 Eclipse Einstellungen
      • 4.2 Troubleshooting
    • 5. API
    • 6. Erklärt!
      • 6.1 CMS-Templates
        • 6.1.1 Dateistruktur
        • 6.1.2 Inhalte der Dateien
        • 6.1.3 Inhaltstypen
      • 6.2 Überschreiben von Standard XHTML Seiten mit eigenen, angepassten Seiten
      • 6.3 Theme Umstellung zu Maven
      • 6.4. Release erstellen
      • 6.5 Theme Anpassungen
      • 6.6 Updates von Abhängigkeiten
        • 6.6.1 Java
        • 6.6.2 CSS und Javascript
          • 6.6.2.1 Tests
Powered by GitBook
On this page
  • Allgemein
  • Konfiguration
  • shibd, Apache und Tomcat
  • Goobi viewer
  • Anmeldung
  1. Verschiedenes
  2. 1. Anwendungsszenarien

1.14 Shibboleth

Allgemein

Die Implementierung der Authentifizierung ist im Goobi viewer und Goobi workflow prinzipiell ähnlich. Trotzdem gibt es die folgenden Unterschiede:

In Goobi workflow wird die gesamte Applikation gesichert und im Goobi viewer natürlich nur die Seiten, die eine vorherige Anmeldung benötigen.

In Goobi workflow muss ein Benutzeraccount vorher existieren und dann der Authentifizierungsart zugeordnet werden. Erst dann steht die Single-Sign-On Funktionalität zur Verfügung. Im Goobi viewer wird ein Account bei erfolgreicher Authentifizierung automatisch angelegt sofern dieser noch nicht existiert. Damit stehen alle Funktionalitäten ohne weitere Registrierung automatisch zur Verfügung. Nur für weitergehende Rechte, wie zum Beispiel dem Zugriff auf das Admin-Backend müssen manuell weitere Einstellungen geändert werden.

Konfiguration

Die folgenden Abschnitte beziehen sich auf ein Ubuntu Linux, wie es auch in der Installationsanleitung beschrieben ist.

shibd, Apache und Tomcat

Für die Installation reicht es aus, auf dem Server auf dem der Apache läuft, das Paket libapache2-mod-shib2 zu installieren. Das installiert alle notwendigen Abhängigkeiten mit:

apt install libapache2-mod-shib2

Anschließend ist die Konfiguration des shibd notwendig. In der Regel gibt es hier bereits in den Einrichtungen die Shibboleth einsetzen fertige Konfigurationen. Beachtung finden sollten vor allem die folgenden Dateien:

  • /etc/shibboleth/attribute-map.xml

  • /etc/shibboleth/attribute-policy.xml

  • /etc/shibboleth/shibboleth2.xml

  • /etc/shibboleth/sp-metadata.xml

In der shibboleth2.xml und der sp-metadata.xml sollte eine aussagekräftige entityID gesetzt werden, zum Beispiel https://viewer.example.org/shibboleth. In der shibboleth2.xml ist das Attribut in dem Element <ApplicationsDefaults /> gemeint, und in der sp-metadata.xml das Attribut in dem <md:EntityDescriptor /> Tag.

In der attribute-map.xml muss dem Attribut mit der E-Mailadresse der Präfix AJP_ vorangestellt werden. Nur diese Attribute werden von dem AJP Modul dann zum Tomcat übertragen. Das Attribut hat dann im Tomcat aber keinen Präfix. Hier ein Beispiel für einen Eintrag in der attribute-map.xml:

<Attribute name="urn:oid:1.2.3456.77777777.888.9.0" id="AJP_shib-email" />

Bei Ubuntu Linux 18.04 und Tomcat 9.0.16 sind in der server.xml keine weiteren Einstellungen notwendig. Ab Ubuntu Linux 20.04 und Tomcat 9.0.31 ist es notwendig im AJP Connector das Attribut mit der Einstelloption allowedRequestAttributesPattern explizit zu benennen.

Im Apache Webserver wird dann ein spezieller REST Endpoint vom Goobi viewer über die Shibboleth Authentifizierung gesichert:

<Location "/api/v1/auth/header">
    Require shibboleth
    AuthType shibboleth
    ShibRequestSetting requireSession 1
</Location>

Goobi viewer

<authenticationProviders>
    <provider type="httpHeader" 
              enabled="true" 
              name="Shibboleth" 
              parameterType="attribute" 
              parameterName="shib-email" 
              endpoint="https://viewer.example.org/api/v1/auth/header" />
</authenticationProviders>

Das type Attribut legt die gewünschte Authentifizierungsmethode fest. Mit dem enabled Schalter kann die Authentifizierung ein- und ausgeschaltet werden. Der name legt fest, was in dem Anmeldedialog in dem Button erscheinen soll. Mit dem parameterType wird spezifiziert ob ein HTTP Header oder eine Attribut ausgewertet werden soll. Im parameterName wird der Name des Headers oder des Attributs konfiguriert. Als endpoint wird die absolute URL zu dem im Apache gesicherten REST Endpoint angegeben.

Anmeldung

Um die Anmeldung durchzuführen muss im Anmeldedialog auf den entsprechenden Provider-Button geklickt werden. In dem folgenden Screenshot "Shibboleth". Dieser verweist auf den konfigurierten Endpoint, dort übernehmen Apache und shibd die Authentifizierung und geben das Ergebnis auch an den Endpoint zurück. Der Goobi viewer übernimmt die Information, meldet den Benutzer an und leitet auf die Seite zurück auf der die Anmeldung initiiert wurde.

Previous1.13 Inhalte beitragenNext1.15 zugriffsbeschränkte Metadaten

Last updated 2 years ago

In der lokalen config_viewer.xml muss nun noch ein entsprechender eingerichtet werden. Eine Beispielkonfiguration ist wie folgt:

Authenticationprovider
Anmeldedialog mit aktivierter Shibboleth Authentifizierung