2015.05 2016.06

Anbindung externer Systeme

Beschreibung der Anbindung an externe Authentifizierungs- und Authorisierungssysteme.

Shibboleth

Im ersten Schritt muss Shibboleth installiert und konfiguriert werden. Dazu steht eine Anleitung aus Jena zur Verfügung, die einen möglichen Weg beschreibt.

Nachdem die Konfiguration abgeschlossen ist, muss die realms.xml angepasst werden. Nachfolgend ebenfalls ein Beispiel der Konfiguration in Jena.

<?xml version="1.0" encoding="ISO-8859-1"?>

<realms local="local">
  <realm id="local">
    [...]
  </realm>
  <realm id="shibboleth" setable="false">
    <label xml:lang="de">Shibboleth</label>
    <label xml:lang="en">Shibboleth</label>
    <login url="MCRShibbolethLoginServlet" redirectParameter="url">
      <label xml:lang="de">Anmelden mit dem Login Ihrer Heimateinrichtung</label>
      <label xml:lang="en">Login with your user credentials of your home institution</label>
      <info>
        <label xml:lang="de">
          Falls unterstützt, müssen Sie sich ggf. nur einmalig anmelden.
        </label>
        <label xml:lang="en">
          This login uses single-sign-on facilities provided by your home institution.
        </label>
      </info>
    </login>
  </realm>
  <realm id="tu-ilmenau.de">
    <label xml:lang="de">TU Ilmenau</label>
    <label xml:lang="en">TU Ilmenau</label>
    <attributeMapping>
      <attribute name="userName" mapping="eppn" />
      <attribute name="realName" mapping="displayName" converter="org.urmel.dbt.utils.DisplayNameConverter" />
      <attribute name="eMail" mapping="mail" />
      <attribute name="roles" mapping="affiliation" separator=";">
        <valueMapping name="employee">submitter</valueMapping>
        <valueMapping name="member">reader</valueMapping>
      </attribute>
    </attributeMapping>
    <passwordChangeURL>https://www.tu-ilmenau.de/unirz/it-service-desk/password/</passwordChangeURL>
  </realm>
  <realm id="uni-jena.de">
    <label xml:lang="de">FSU Jena</label>
    <label xml:lang="en">FSU Jena</label>
    <attributeMapping>
      <attribute name="userName" mapping="eppn" />
      <attribute name="realName" mapping="displayName" converter="org.urmel.dbt.utils.DisplayNameConverter" />
      <attribute name="eMail" mapping="mail" />
      <attribute name="roles" mapping="eduPersonAffiliation">
        <valueMapping name="employee">submitter</valueMapping>
        <valueMapping name="member">reader</valueMapping>
      </attribute>
    </attributeMapping>
    <passwordChangeURL>https://portal.uni-jena.de/</passwordChangeURL>
  </realm>
  <realm id="uni-erfurt.de">
    <label xml:lang="de">Universität Erfurt</label>
    <label xml:lang="en">University Erfurt</label>
    <attributeMapping>
      <attribute name="userName" mapping="eppn" />
      <attribute name="realName" mapping="displayName" converter="org.urmel.dbt.utils.DisplayNameConverter" />
      <attribute name="eMail" mapping="mail" />
      <attribute name="roles" mapping="eduPersonAffiliation">
        <valueMapping name="employee">submitter</valueMapping>
        <valueMapping name="member">reader</valueMapping>
      </attribute>
    </attributeMapping>
    <passwordChangeURL>https://idmweb.uni-erfurt.de/OAS</passwordChangeURL>
  </realm>
</realms>

Um zu bewirken, dass der Benutzer beim Anlegen eines Dokument auch gespeichert wird muss in den mycore.properties noch folgendes Property gesetzt werden:

# can be used to persist transient user (shibboleth or ...)
MCR.EventHandler.MCRObject.110.Class=org.mycore.user2.events.MCRPersistTransientUserEventHandler
      

Anhand der Attribute die gemappt werden sieht man, was der IDP liefern muss.

LDAP

Diese Dokumentation befindet sich noch im Aufbau

 Kathleen Neumann, Jens Kupferschmidt - 2016-03-03