Benutzerdaten in Webanwendungen übernehmen

Personalakte

Benutzerdatenbanken wie ein ein zentraler LDAP-Server oder dedizierte Identity-Management-Lösungen wie FreeIPA oder Active Directory enthalten eine Menge an Informationen über die darin gespeicherten Benutzer. Wir zeigen eine Methode, wie Webanwendungen sehr einfach auf diese Informationen zurückgreifen können.
In der November-Ausgabe beleuchtet IT-Administrator wesentliche Aspekte des Infrastrukturmanagements. Dazu gehört die Frage, wie Sie Rechenzentren erfolgreich ... (mehr)

Meldet sich ein Benutzer an einer Webanwendung an, wird er meistens über eine interne Datenbank authentifiziert und autorisiert. Alternativ dazu besteht auch die Möglichkeit, auf ein bereits vorhandenes Identity-Managementsystem zurückzugreifen. Der Zugriff auf ein solches System erfolgt im Backend dann beispielsweise über LDAP oder im Fall einer föderierten Authentifizierung mit Hilfe der Security Assertion Markup Language (SAML). Oftmals ist es auch wünschenswert, dass zusätzliche Informationen über einen Benutzer, die mit dem Benutzerobjekt im Backend gespeichert sind, auch von der Webanwendung genutzt werden können. Beispielsweise könnte damit der komplette Name des Benutzers zur Begrüßung nach einem Login verwendet werden.

Listing 1 zeigt ein klassisches Beispiel für ein LDAP-Benutzer-Objekt ohne die dazugehörigen Objektklassen. LDAP-Attribute wie "sn", "givenName" oder "mail" können in einer Webanwendung nicht ohne weiteres ausgewertet werden, da das klassische Posix-Interface des Name-Service-Switch hierfür keine Möglichkeiten anbietet. Natürlich soll sich auch nicht die Anwendung selbst darum kümmern, diese Informationen zu beziehen, da dies den Komplexitätsgrad der Anwendung erhöhen würde. Aus diesem Grund gilt es also, andere Wege zu finden, um an sie zu gelangen.

Listing 1: LDAP-Benutzer-Objekt



dn: uid=jdoe,cn=users,cn=accounts,dc=example,dc=com
employeeNumber: 23
preferredLanguage: EN
mobile: +4912345678
departmentNumber: 512
memberOf: cn=ipausers,cn=groups,cn=accounts,dc=example,dc=com
krbPasswordExpiration: 20180924161224Z
krbLoginFailedCount: 0
krbTicketFlags: 128
krbLastPwdChange: 20180626161224Z
displayName: John Doe
uid: jdoe
krbCanonicalName: jdoe@EXAMPLE.COM
loginShell: /bin/sh
initials: jd
sn: Doe
homeDirectory: /home/jdoe
mail: jdoe@example.com
krbPrincipalName:
...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019