Zuordnen von LDAP-Attributen zu Elementen auf der Geoportal-Registrierungsseite
Standardmäßig werden auf der Geoportal-Registrierungsseite mehrere Felder angezeigt, die eine Zuordnung zum LDAP einer Organisation erlauben. Beachten Sie, dass die Felder "Benutzername" und "Kennwort" verpflichtend sind, da sie für die Anmeldung benötigt werden. "E-Mail" ist ebenfalls ein Pflichtfeld, damit der Geoportal-Administrator den Benutzer gegebenenfalls kontaktieren kann. Andere Felder sind optional. In diesem Thema wird erklärt, wie dieser Registrierungsseite Felder hinzugefügt werden bzw. wie Felder entfernt werden können. WICHTIG: Stellen Sie sicher, dass Sie die im Artikel Important LDAP Concepts behandelten LDAP-Konzepte verstehen.
Die auf der Registrierungsseite angezeigten Felder haben eine LDAP-Zuordnung und werden "Attribute" genannt. Sie können die in Ihrem LDAP verfügbaren Attribute anzeigen, wenn Sie einen Benutzer mithilfe eines Werkzeugs zur Verzeichnissuche anzeigen, beispielsweise mit Apache Directory Studio. Öffnen Sie in Apache Directory Studio die LDAP-Verbindung, und wechseln Sie zum Benutzerknoten. Wählen Sie einen Benutzer in der Verzeichnisstruktur aus. Nachdem Sie den Benutzer ausgewählt haben, werden alle diesem Benutzer zugewiesenen Attribute im Fenster rechts angezeigt. Jeder Einheit in der LDAP-Struktur sind Attribute zugewiesen. Diese Attribute werden im LDAP-Datenaustauschformat definiert und ordnen dem Benutzer oder der Gruppe Informationen zu. Die Datei "gpt.xml" im Geoportal verwendet in LDAP definierte Attribute, um Felder auf der Geoportal-Registrierungsseite zu definieren. Achten Sie auf den Namen des Attributs in der Spalte "Attributbeschreibung" auf der linken Seite. Wenn Sie die Datei "gpt.xml" über den Ordner \\geoportal\WEB-INF\classes\gpt\config öffnen, sehen Sie, dass diese Attribute den "ldapName"-Werten der Attribute entsprechen, die im Abschnitt <userAttributeMap> definiert sind.
Wahrscheinlich werden nicht alle in Ihrem LDAP-Verzeichnis angezeigten Attribute in der Datei "gpt.xml" aufgeführt, und umgekehrt ist nicht jedes Attribut aus der Datei "gpt.xml" in der LDAP-Struktur enthalten. Wie diese Elemente definiert werden, sollte mit dem LDAP-Administrator in Ihrer Organisation geklärt werden.
Hinzufügen eines zusätzlichen Feldes zur Geoportal-Registrierungsseite
Gehen Sie wie nachfolgend beschrieben vor, um ein zusätzliches Feld zur Geoportal-Registrierungsseite hinzuzufügen:
- Navigieren Sie zum Ordner \\geoportal\WEB-INF\classes\gpt\config, und öffnen Sie die Datei "gpt.xml" in einem Texteditor.
- Erstellen Sie ein neues <attribute>-Tag im Abschnitt <userAttributeMap> der Datei "gpt.xml".
- Geben Sie für das Schlüsselattribut einen beliebigen Zeichenfolgenwert an, vorzugsweise einen, an dem die einzugebenden Daten leicht erkannt werden (z. B. "telephoneExtension", "employeeNumber").
- Wählen Sie für das ldapName-Attribut ein LDAP-Attribut, das noch für kein anderes Attribut verwendet wird. Dieses Attribut muss mit einem LDAP-Attribut übereinstimmen, das in dem von Ihnen verwendeten Werkzeug für die Suche im LDAP-Verzeichnis (z. B. Apache Directory Studio) angegeben ist.
- Um beispielsweise ein Feld für die private Telefonnummer (Home Phone Number) auf der Geoportal-Registrierungsseite hinzuzufügen, müssen Sie wie nachfolgend beschrieben ein neues Attribut zur Liste in der Datei "gpt.xml" hinzufügen. Weisen Sie dem Schlüsselattribut den Namen "home_phone" zu, und ordnen Sie das ldapName-Attribut zu "homePhone" zu - einem nicht verwendeten Attribut in LDAP (siehe Screenshot der Tabellensicht).
<userAttributeMap> <attribute key="username" ldapName="uid"/> <attribute key="password" ldapName="userPassword"/> <attribute key="email" ldapName="mail"/> <attribute key="firstName" ldapName="givenName"/> <attribute key="lastName" ldapName="sn"/> <attribute key="organization" ldapName="o"/> <attribute key="affiliation" ldapName="businessCategory"/> <attribute key="street" ldapName="street"/> <attribute key="city" ldapName="l"/> <attribute key="stateOrProv" ldapName="st"/> <attribute key="postalCode" ldapName="postalCode"/> <attribute key="country" ldapName=""/> <attribute key="phone" ldapName="telephoneNumber"/> <attribute key="home_phone" ldapName="homePhone"/> </userAttributeMap>
- Navigieren Sie jetzt zum Ordner \\geoportal\catalog\identity, und öffnen Sie die Datei "userAttributes.jsp" in einem Texteditor. Fügen Sie einen neuen Satz an Ausgabe-Label-Tags hinzu, und achten Sie hierbei darauf, den Schlüsselnamen des Attributs in den Parametern zu verwenden:
<% // home phone number %> <h:outputLabel for="home_phone" rendered="#{SelfCareController.hasUserAttribute['home_phone']}" value="#{gptMsg['catalog.identity.profile.label.home_phone']}"/> <h:inputText id="home_phone" size="30" maxlength="128" rendered="#{SelfCareController.hasUserAttribute['home_phone']}" value="#{SelfCareController.activeUserAttributes['home_phone'].value}"/>
- Beachten Sie, dass "catalog.identity.profile.label.home_phone" verwendet wird, um den Namen des Labels auf der Registrierungsseite zu generieren. Sie müssen diesen Eintrag in der Datei "gpt.properties" im Ordner \\geoportal\WEB-INF\classes\gpt\resources hinzufügen. Der neue Eintrag in der Datei "gpt.properties" für unser Beispiel für die private Telefonnummer (Home Phone Number) lautet:
catalog.identity.profile.label.home_phone = Home Phone Number:
- Nachdem Sie sowohl userAttributes.jsp als auch gpt.properties aktualisiert haben, speichern Sie beide Dateien, und schließen Sie sie. Starten Sie anschließend die Geoportal-Webanwendung erneut.
- Um zu veranschaulichen, wie sich die Registrierungsseite auf LDAP bezieht, starten Sie die Geoportal-Site, und klicken Sie auf die Schaltfläche "Registrieren".
- Registrieren Sie einen neuen Benutzer, indem Sie die erforderlichen Informationen angeben und zudem die Informationen, die Sie soeben angepasst haben, z. B. die private Telefonnummer (Home Phone Number).
- Klicken Sie auf "Registrieren".
- Aktualisieren Sie nun die Ansicht in der LDAP-Verzeichnissuche, um anzuzeigen, ob der neue Benutzer zur Verzeichnisstruktur hinzugefügt wurde. Klicken Sie auf den neuen Benutzer, und sehen Sie, wie die Eigenschaften – einschließlich der neuen privaten Telefonnummer (Home Phone Number) – in LDAP zugeordnet sind.